2010-07-01 1 views
0

Я использую Django, и у меня есть следующий URL-адрес в файле urls.py моего проекта.Параметры URL-адреса Django из внешних приложений

(r'^user/(?P<username>[\w_\-\.]+)/my_app/', include('my_app.urls')), 
(r'^user/(?P<username>[\w_\-\.]+)/my_other_app/', include('my_other_app.urls')), 
... 

Целью является приложение, использующее имя пользователя пользователя, например. приложение профиля, в котором каждый пользователь имеет страницу профиля. Только одно представление в этом приложении должно иметь имя пользователя в URL-адресе (тот, который отображает страницу профиля), но все представления должны принимать параметр username, даже если они ничего не делают с ним.

Я подозреваю, что это использование параметров URL неверно, потому что оно заставляет каждое представление my_app принимать имя пользователя в качестве параметра (поскольку оно передается как из диспетчера URL-адресов). Для меня нет смысла использовать внешний компонент (файл urls.py проекта), чтобы указать URL-адреса my_app, какие параметры следует принимать.

Действительно ли это использование? Если нет, как мне это сделать?

ответ

0

Кажется, это странно.

Не могли бы вы переключить свои приложения вместо параметра имени пользователя? Под номером my_app.urls и последним, просто введите поле username в поиске нужных вам полей.

Таким образом, ваша структура выглядит так:

/user/my_app/friends/hekevintran/

/user/my_other_app/connections/bartek/

Который работает так же хорошо и не заставит ваших приложений полагаться на контекст корневого проекта для пользователя ,

+0

Не могли бы вы объяснить «иметь поле имени пользователя в поиске по полю, которое вам нужно» еще? Я не совсем понимаю. – hekevintran

 Смежные вопросы

  • Нет связанных вопросов^_^