В приложении django мне нужно создать URL-адреса профиля пользователя Twitter со следующей структурой, например:
example.com/<username>
example.com/<username>/friends
example.com/<username>/blog
example.com/<username>/some-page
example.com/<username>/some-other-page
Мой urls.py:
urlpatterns = patterns('profiles.views',
url(r'^(?P<account_name>[a-zA-Z0-0_.-]+)/$', 'show_profile', name='profiles_show_profile'),
url(r'^(?P<account_name>[a-zA-Z0-0_.-]+)/friends/$', 'show_friends', name='profiles_show_blog'),
url(r'^(?P<account_name>[a-zA-Z0-0_.-]+)/blog/$', 'show_blog', name='profiles_show_blog'),
)
Моя первая проблема заключается в том, что example.com/<username>
работает нормально, а example.com/<username>/any-other-page
нет. Все они оказываются в show_profile
представлении, а не в своем собственном.
Примечание. Все работает нормально, если я заставляю URL-адреса изменять структуру URL-адресов на example.com/user/<username>
.
Что я здесь делаю неправильно? Пожалуйста, порекомендуйте.
Во-вторых, я хотел бы получить рекомендации по лучшим практикам django (подводные камни, ловушки и т. д.) при работе со схемами URL-адресов, где первая часть сама по себе является переменной.
Спасибо
0-0
в вашем регулярном выражении странное: я думаю, вы имеете в виду0-9
, хотя это не ваша проблема. - person Ned Batchelder   schedule 12.09.2010