Как направить множество путей к одному url в django python
Я хотел бы направить все пути, заканчивающиеся на 'search/', на один url. Я перепробовал много способов, но ничего не помогло.
Следующее - последнее, что я пробовал.
path(r'^search/$', views.search, name="search"),
Помогите пожалуйста?
После написания этой статьи мне пришло в голову, что вы используете path
, который не обрабатывает регулярные выражения. Возможно, вам следует использовать url
(устаревшее) или re_path
. Если это не то, то ...
urls.py
в приложении включается в основной проект urls.py
. Это приводит к иерархической структуре. Например, большинство Django сайтов имеют проект urls.py
, содержащий
url(r'^admin/', admin.site.urls),
который отправляет любой URL, начинающийся с /admin
, в код администратора Django. этот код отправляет, основываясь на оставшейся части URL. Код urls.py
никогда не видит /admin
.
Если вы действительно хотите отлавливать все, что начинается с /search
, а не только /myapp/search
, вам придется поместить определение пути или url в верхний уровень (проект) urls.py
. Необычно, но вполне возможно
url(r'^admin/', admin.site.urls),
path(r'search/$', search_app.views.search, name="search"),
Я понятия не имею, каким будет пространство имен (для reverse("dont_know:search")
)