站内搜索:
首页 >> 前端 >> 内容
django的get_absolute_url函数

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

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})

  • 上一篇:关于给变量赋值
  • 下一篇:window弹窗案例
  • 返回顶部