关于 Django 的 URL 配置与 get_absolute_url 方法

本文探讨了Django URL模板标签的使用,尤其是如何通过get_absolute_url方法在模型中定义对象的查看地址,以避免在模板中多次配置URL导致的重构困难。作者在尝试将URL配置集中于urls.py文件时遇到问题,经过查阅官方文档和Google搜索,最终找到了解决方案,实现了URL配置的统一和模型与视图的高效联动。
摘要由CSDN通过智能技术生成

转自:http://huacnlee.com/blog/django-url-routes-and-get-absolute-url/

 

今天白天的时候看了一篇文章DJANGO'S URL TEMPLATE TAG SUCKS》,英文不是很好,大概的理解了一下,好像是讲,Django Url 的设计不够好的地方。另外这篇文章向我们推荐了一下更好的URL写法。

<之前我在 Templates 里面调用URL地址都是用{% url apps.views.post post.user.slug,post.id %}这种方式来调用urls.py里面配置的URL地址,但是Template里面会用到很多,如果当参数有变动的时候,重构将会是很麻烦的事情。所以我需要调用一个固定的地方。

Django Model 里面有一个get_absolute_url()的方法,这个东西是定义Model的对象的查看地址,主要是用在RSS与后台查看页面的,以前看RSS的文档里面的写法是直接组合URL地址,如:

1
2
3
4
5
6
7
class Post(models.Model):
    title = models.CharFiled(max_length=200)
    slug = models.CharField(max_length=255)
    body = models.TextField()

 

    def get_absolute_url(self):
        return 'post/%s.html' % (self.slug)

urls.py我们又定义了url的格式,这样在项

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值