如何自动将 slug 附加到 URL?
How to automatically append slug to URL?
我目前正在学习 Django,想知道如何自动将 slug 附加到 url。
例如,我在这里发布的一个旧问题的完整 url 是:
但是如果我输入:
在地址栏中,它会自动将 slug 添加到 url。
如何在 Django 中执行此操作?
谢谢。
您可以通过在 URL 问题的一个 pk
和另一个 slug
中采用 2 个参数来实现这一点,并像这样处理。
urls.py
url(r'^(?P<pk>\d+)/$', views.questionDetail),
url(r'^(?P<pk>\d+)/(?P<slug>[\w.-]+)/$', views.questionDetail, name='question-detail'),
views.py
def questionDetail(request, pk, *args):
question = get_object_or_404(Question, pk=pk)
slug = ""
if(*args[0])
slug = *args[0]
if question.slug != slug:
return redirect('question-detail', pk, question.slug)
return render(request, 'questions/question_detail.html', context)
我目前正在学习 Django,想知道如何自动将 slug 附加到 url。
例如,我在这里发布的一个旧问题的完整 url 是:
但是如果我输入:
在地址栏中,它会自动将 slug 添加到 url。
如何在 Django 中执行此操作?
谢谢。
您可以通过在 URL 问题的一个 pk
和另一个 slug
中采用 2 个参数来实现这一点,并像这样处理。
urls.py
url(r'^(?P<pk>\d+)/$', views.questionDetail),
url(r'^(?P<pk>\d+)/(?P<slug>[\w.-]+)/$', views.questionDetail, name='question-detail'),
views.py
def questionDetail(request, pk, *args):
question = get_object_or_404(Question, pk=pk)
slug = ""
if(*args[0])
slug = *args[0]
if question.slug != slug:
return redirect('question-detail', pk, question.slug)
return render(request, 'questions/question_detail.html', context)