Уведомления

Группа в Telegram: @pythonsu

#1 Ноя. 28, 2008 00:35:08

romankrv
От:
Зарегистрирован: 2008-05-23
Сообщения: 513
Репутация: +  0  -
Профиль   Отправить e-mail  

include url и приложения

при использовании приложения django-registration возник вопрос:

если используется функция register определенная в django-registration и у ней есть дефольные входные параметры и вот определение функции

def register(request, success_url=None,
form_class=RegistrationForm, profile_callback=None,
template_name='registration/registration_form.html',
extra_context=None):
Также в своем urls.py я подключаю urls.py этого приложения так:
(r'^accounts/', include('registration.urls')),
Теперь если нужно переопределить входной параметр success_url или какой то другой из них то первое что пришло как это http://docs.djangoproject.com/en/dev/topics/http/urls/#passing-extra-options-to-view-functionsPassing extra options to include.
то есть это будет так:
(r'^accounts/', include('registration.urls'), {'success_url' : '/'})
Но таким способом экстра параметр подставляется ко всем строкам что подключены через инклюд.

То есть таким способом для апликухи django-registration после прохождения через функцию register с экстра параметром нужно будет пройти функцию activate у которой нет экстра параметров которые я передал но так как передача экстра параметра происходит всем сторкам инклудного urls.py то возникнит ошибка.
Теперь вопрос как в таких случаях поступают? Я как понимаю что сторонние приложение модифицировать не есть правильно так как приложение может изменится и нужно будет снова как то подстраивать свой код под это итд.

Спасибо

Офлайн

#2 Дек. 4, 2008 19:40:03

romankrv
От:
Зарегистрирован: 2008-05-23
Сообщения: 513
Репутация: +  0  -
Профиль   Отправить e-mail  

include url и приложения

lorien
прописать перед импортированием reigstration.urls отдельной строкой урл для registration.views.register
Но я думаю что все-таки после импортирования так как если перед то это переопределит снова мой установленный параметр в дефолтный параметр
:)

Офлайн

#3 Дек. 4, 2008 20:35:11

Александр Кошелев
От: Москва
Зарегистрирован: 2007-02-03
Сообщения: 1724
Репутация: +  2  -
Профиль   Отправить e-mail  

include url и приложения

romankrv
Но я думаю что все-таки после импортирования так как если перед то это переопределит снова мой установленный параметр в дефолтный параметр
smile
нет



Офлайн

#4 Дек. 4, 2008 22:20:27

romankrv
От:
Зарегистрирован: 2008-05-23
Сообщения: 513
Репутация: +  0  -
Профиль   Отправить e-mail  

include url и приложения

Daevaorn
нет
Да действительно перед.
Это связано с кешированием модулей python-ом что первое попадает то и используется если это связано с импоротм чего либо?

Офлайн

#5 Дек. 4, 2008 22:28:03

Александр Кошелев
От: Москва
Зарегистрирован: 2007-02-03
Сообщения: 1724
Репутация: +  2  -
Профиль   Отправить e-mail  

include url и приложения

romankrv
Это связано с кешированием модулей python-ом что первое попадает то и используется если это связано с импоротм чего либо?
Хм… нет. С самим питоном это никак не связано. Просто джанга резолвит урлы попорядку, поэтому если надо как-то перехватить какой-то урл, то его паттерн надо ставить раньше “перехватываемого”.



Офлайн

Board footer

Модераторировать

Powered by DjangoBB

Lo-Fi Version