обрабатывать пробелы в параметре URL, используя re_path - PullRequest
0 голосов
/ 11 июня 2018

Я передаю 2 переменные в URL foo, bar.Переменная bar содержит несколько слов с пробелами между ними.На основе foo и 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 голосов
/ 11 июня 2018

Вы можете разрешить пробелы вместе с другими символами, используя регулярное выражение.

re_path(r'^post/(?P<foo>[\w|\W]+)/(?P<bar>[\w|\W]+)/$', post)
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...