В устаревшем приложении мне нужно проверить, существует ли URL-адрес, а если нет, перенаправить его в другое место. Проблема в том, что мне нужно проверить, присутствует ли этот url в наборе значений, в файле urls, и я не понимаю, как это лучше всего сделать.Динамически проверять наличие пула
Например, оба проекта и города используют один и тот же шаблон URL. например /projects/london
и /projects/my-project-name
.
Я хочу, прежде всего, проверить, соответствует ли слизь городу, а затем не возвращает проект (города не могут соответствовать названиям проектов).
Мои URLs в настоящее время структурированы следующим образом:
url(r'^projects/(?P<project-name>[-\w]+)', get_project, name='project-view'),
url(r'^projects/.*', get_city, name='city-view'),
Я знаю, что это очень грязный, и плохая общая картина, но, к сожалению, это не то, что можно изменить в данный момент. Поэтому моя цель - выяснить, могу ли я сначала проверить, может ли project-name
быть городом, и если это так, перенаправить на это представление, не попадая в цикл переадресации.
Интересно, если я мог бы сделать что-то вроде этого:
url(r'^projects/(?P<city>london|paris|new-york)/', get_city, name='city-view'),
где london|paris|new-york
генерируются динамически
спасибо - очень полезно. Я немного задержался в сорняках и пропустил, что я должен был передать всю логику на просмотр/роутер – djq