【发布时间】:2017-09-18 02:46:06
【问题描述】:
如果我有这样的模型:
class Article(models.Model):
title = models.CharField(max_length=200)
# ... rest of the code ...
def get_absolute_url(self):
return reverse('article-detail', args=[str(self.pk)])
我有一个这样的 url 映射:
url(r'^article/(?P<pk>[0-9]+)/$', views.ArticleView.as_view(), name='article-detail'),
我应该在模板中使用:
<a href="{{ article.get_absolute_url }}">{{ article.title }}</a>
或
<a href="{% url 'article-detail' article.pk %}">{{ article.title }}</a>
我仍然认为这两个都是好主意,但哪个是最好的?
在我写的第一个代码args=[str(self.pk)] 中,为什么我必须将self.pk 转换为字符串? URL 必须是字符串?
在我的一般视图中,我如何使用 pk 变量?
我真的很困惑slug_field、slug_url_kwarg、pk_url_kwarg、query_pk_and_slug。
哪个匹配哪个?
如果我将query_pk_and_slug 设置为 True,slug_field = pk?
【问题讨论】:
标签: django