Шаблоны URL-адресов в Django — различные комбинации
-
21-09-2019 - |
Вопрос
Мне трудно понять, что именно передается в patterns
метод в Джанго.
Видите ли, у меня обычно есть urls.py
как:
urlspatterns = patterns('example.views',
(r'/$','func_to_call'),
)
Затем в func_to_call
Я бы получил все, что хочу, от request
объект с помощью request.path
.Однако, со второго раза, это действительно ужасно, что я игнорирую ловкость Django ради такого более длинного и менее чистого способа анализа - причина в том, что я не понимаю, что делать!
Допустим, у вас есть 3 сервера, на которых вы размещаете свое приложение Django, каждый из которых имеет доменное имя и некоторые его варианты, например server1/djangoApplicationName/queryparams
, server2/application/djangoApplicationName
и server3/queryparams
.Что будет urlpattern
пройти?Весь URL?Все после доменного имени?
Решение
Регулярное выражение URLconf видит только часть пути URL-адреса с удаленной начальной косой чертой.Параметры запроса не соответствуют URLconf, вы получаете к ним доступ через request.GET в вашем представлении.Итак, вы можете написать такой шаблон:
urlpatterns = patterns('myapp.views',
url(r'^myapp/something/$', 'something_view_func')
)
А документация есть больше примеров и подробностей.