使用re_path处理URL参数中的空格

时间:2018-06-11 09:20:55

标签: django url-routing

我在URL foo,bar中传递了2个变量。变量栏有多个单词,单词之间有空格。在foo和bar的基础上,呈现模板的内容。每当bar在单词之间有空格,我的url处理程序就会给出404.

示例:localhost / post / foo / ba r / 结果是404

urls.py

urlpatterns = [
    re_path('post/<slug:foo>/<slug:bar>/', post),
]

views.py

def post(request, foo, bar):
    query = Blog.objects.all().filter(category=foo, title=bar)
    return render(request, 'blog/post.html',
                  {'blog': query, 'cat': foo, 'tit': bar})

post.html

{% for i in blog %}
    {{ i.content }}
{% endfor %}

1 个答案:

答案 0 :(得分:2)

您可以使用正则表达式允许空格和其他字符。

re_path(r'^post/(?P<foo>[\w|\W]+)/(?P<bar>[\w|\W]+)/$', post)