Форум сайта python.su
Подскажите, можно ли передать дополнительные параметры в обобщённое представление через урл в следующем формате?
url(r'^accounts/logout/$', 'django.contrib.auth.views.logout', name='logout')
Офлайн
(r'^accounts/logout/$', 'django.contrib.auth.views.logout', {'name' : 'logout'} )
Отредактировано (Июнь 21, 2010 02:14:33)
Офлайн
Но когда указываю в шаблоне
<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.
Офлайн
url(regex, view, kwargs=None, name=None, prefix='')
Так что должно быть примерно так:
(r'^accounts/logout/$', 'django.contrib.auth.views.logout', {'vash' : 'dopolnitelnyj_slovar'}, name='logout')
Офлайн
vaxXxa так нельзя указывать.
Нужен какой-то другой способ.
Офлайн
Проблема решена.
Офлайн
Mutagena, поясните, почему так нельзя указывать и как решена проблема?
Офлайн
Вот таким способом:
urlpatterns += patterns('django.contrib.auth.views',
url(r'^accounts/logout/$',
'logout',
{'next_page': '/',
'template_name': 'accounts/logout.html',
},
name = 'logout',
),
)
Офлайн
эм.. а я что написал? не тоже ли самое?
Офлайн
Не знаю причину, но у меня почему-то не заработало. Заработало только с вынесением части пути до преставления в отдельный параметр.
Офлайн