Уведомления

Группа в Telegram: @pythonsu
  • Начало
  • » Django
  • » Передать параметры в обобщённое представление в формате url() [RSS Feed]

#1 Июнь 20, 2010 22:54:38

Mutagena
От:
Зарегистрирован: 2009-10-18
Сообщения: 295
Репутация: +  0  -
Профиль   Отправить e-mail  

Передать параметры в обобщённое представление в формате url()

Подскажите, можно ли передать дополнительные параметры в обобщённое представление через урл в следующем формате?

    url(r'^accounts/logout/$', 'django.contrib.auth.views.logout', name='logout')



Офлайн

#2 Июнь 21, 2010 02:14:07

mecid
От:
Зарегистрирован: 2010-02-26
Сообщения: 27
Репутация: +  0  -
Профиль   Отправить e-mail  

Передать параметры в обобщённое представление в формате url()

(r'^accounts/logout/$', 'django.contrib.auth.views.logout', {'name' : 'logout'} )
вот так можно



Отредактировано (Июнь 21, 2010 02:14:33)

Офлайн

#3 Июнь 21, 2010 09:12:08

Mutagena
От:
Зарегистрирован: 2009-10-18
Сообщения: 295
Репутация: +  0  -
Профиль   Отправить e-mail  

Передать параметры в обобщённое представление в формате url()

Но когда указываю в шаблоне

<a href="{% url logout %}">Выход</a>
То получаю ошибку:
TemplateSyntaxError at /
Caught NoReverseMatch while rendering: Reverse for 'logout' with arguments '(u'/', u'accounts/logout.html')' and keyword arguments '{}' not found.



Офлайн

#4 Июнь 21, 2010 10:24:58

vaxXxa
От: Kyiv, Ukraine
Зарегистрирован: 2009-06-16
Сообщения: 278
Репутация: +  0  -
Профиль   Отправить e-mail  

Передать параметры в обобщённое представление в формате url()

url(regex, view, kwargs=None, name=None, prefix='')
Так что должно быть примерно так:

(r'^accounts/logout/$', 'django.contrib.auth.views.logout', {'vash' : 'dopolnitelnyj_slovar'}, name='logout')



Офлайн

#5 Июнь 21, 2010 11:10:05

Mutagena
От:
Зарегистрирован: 2009-10-18
Сообщения: 295
Репутация: +  0  -
Профиль   Отправить e-mail  

Передать параметры в обобщённое представление в формате url()

vaxXxa так нельзя указывать.
Нужен какой-то другой способ.



Офлайн

#6 Июнь 21, 2010 13:02:33

Mutagena
От:
Зарегистрирован: 2009-10-18
Сообщения: 295
Репутация: +  0  -
Профиль   Отправить e-mail  

Передать параметры в обобщённое представление в формате url()

Проблема решена.



Офлайн

#7 Июнь 21, 2010 13:37:30

vaxXxa
От: Kyiv, Ukraine
Зарегистрирован: 2009-06-16
Сообщения: 278
Репутация: +  0  -
Профиль   Отправить e-mail  

Передать параметры в обобщённое представление в формате url()

Mutagena, поясните, почему так нельзя указывать и как решена проблема?



Офлайн

#8 Июнь 21, 2010 13:53:11

Mutagena
От:
Зарегистрирован: 2009-10-18
Сообщения: 295
Репутация: +  0  -
Профиль   Отправить e-mail  

Передать параметры в обобщённое представление в формате url()

Вот таким способом:

urlpatterns += patterns('django.contrib.auth.views',
url(r'^accounts/logout/$',
'logout',
{'next_page': '/',
'template_name': 'accounts/logout.html',
},
name = 'logout',
),
)



Офлайн

#9 Июнь 21, 2010 14:13:11

vaxXxa
От: Kyiv, Ukraine
Зарегистрирован: 2009-06-16
Сообщения: 278
Репутация: +  0  -
Профиль   Отправить e-mail  

Передать параметры в обобщённое представление в формате url()

эм.. а я что написал? не тоже ли самое?



Офлайн

#10 Июнь 21, 2010 14:14:49

Mutagena
От:
Зарегистрирован: 2009-10-18
Сообщения: 295
Репутация: +  0  -
Профиль   Отправить e-mail  

Передать параметры в обобщённое представление в формате url()

Не знаю причину, но у меня почему-то не заработало. Заработало только с вынесением части пути до преставления в отдельный параметр.



Офлайн

  • Начало
  • » Django
  • » Передать параметры в обобщённое представление в формате url()[RSS Feed]

Board footer

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

Powered by DjangoBB

Lo-Fi Version