您现在的位置:首页 >> 前端 >> 内容

django的get_absolute_url函数

时间:2017/8/11 9:46:00 点击:

  核心提示:django的get_absolute_url函数这个函数的原理不太理解,查官网看了下,还是有点困惑参考:https://docs.djangoproject.com/en/1.11/ref/mode...

django的get_absolute_url函数

这个函数的原理不太理解,查官网看了下,还是有点困惑

参考:

https://docs.djangoproject.com/en/1.11/ref/models/instances/

在shell打印下这个函数返回的值

from blog.models import Post

Post.objects.get(pk=3)


p= Post.objects.get(pk=3)
p.get_absolute_url()
'/post/3/' # 这里打印出的和url写的关联着
url(r'^posts/(?P[0-9]+)/$', views.detail, name='detail'),

models是这样写的

class Post(models.Model):
    title = models.CharField(max_length=70)
    body = models.TextField()

    created_time = models.DateTimeField()
    modified_time = models.DateTimeField()

    excerpt = models.CharField(max_length=200, blank=True)

    category = models.ForeignKey(Category)
    tags = models.ManyToManyField(Tag, blank=True)

    author = models.ForeignKey(User)

    def __str__(self):
        return self.title

    def get_absolute_url(self):
        return reverse('blog:detail', kwargs={'pk': self.pk})

views函数

def detail(request,pk):
    post = get_object_or_404(Post,pk=pk)

    post.body = markdown.markdown(post.body,
                                  extensions=[
                                     'markdown.extensions.extra',
                                     'markdown.extensions.codehilite',
                                     'markdown.extensions.toc',
                                  ])



    return render(request, 'blog/detail.html', context={'post': post})

Tags:DJ JA AN NG 
作者:网络 来源:毛台
  • 上一篇:关于给变量赋值
  • 下一篇:window弹窗案例