Django - DetailView 中的 DateTimeField

Django - DateTimeField in DetailView

如何在使用 DetailView 的 urls 中显示 DateTimeField 年份?

这是我的代码:

models.py

publish = models.DateTimeField(default=timezone.now)

views.py

class UpdatesDetail(DetailView):
    template_name = 'Upadtes/detail.html'
    model = Post

urls.py

url(r'(?P<slug>[-\w]+)$', UpdatesDetail.as_view(), name='updates-detail'),

现在我的 url 看起来像这样:127.0.0.1/this-is-just-test,但我希望我的 url 像这样 127.0.0.1/2017/09/17/this-is-just-test。我该怎么做?

感谢帮助!

您可以传递 yearmonthday 的参数以及 slug

url(r'(?P<year>[0-9]{4})/(?P<month>[0-9]{2})/(?P<day>[0-9]{2})/(?P<slug>[-\w]+)$', AktualnosciDetail.as_view(), name='aktualnosci-detail'),

在html

<a href="{% url 'aktualnosci-detail' year=post.publish.year month=post.publish.month day=post.publish.day slug=post.slug %}"

我在 official documentation 中找到了很好的例子。波兹德拉维亚姆 :)