[pyweb]django的get_absolute_url函数

重点内容## 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)
<Post: 我的第二篇文章>

p= Post.objects.get(pk=3)
p.get_absolute_url()
'/post/3/' # 这里打印出的和url写的关联着
url(r'^posts/(?P<pk>[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})
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值