首页 > 解决方案 > django - 是否可以在 url 中使用 slug 和 primary

问题描述

www.example.com/slug/PrimaryKey
www.example.com/foo/1

如果是这样,我该如何传递变量。

前任。

{% 'example:posts' slug='slug' pk=1 %} # would this work?

标签: djangodjango-urls

解决方案


网址.py:

# Django 2.0 
urlpatterns = [
    path('<slug:slug>/<int:pk>', views.posts, name='posts'),
]

# Django 1.11 and bellow:
urlpatterns = [
    url('(?P<slug>[-\w]+)/(?P<pk>\d+)/$', views.posts, name='posts'),
]

模板:

{% url 'posts' 'slug' 1 %}

如果您将“发布”对象传递给您的模板,我认为这是您的情况,但我不确定:

{% url 'posts' post.slug post.pk %}

推荐阅读