Найти - Пользователи
Полная версия: Передать параметры в обобщённое представление в формате url()
Начало » Django » Передать параметры в обобщённое представление в формате url()
1
Mutagena
Подскажите, можно ли передать дополнительные параметры в обобщённое представление через урл в следующем формате?
    url(r'^accounts/logout/$', 'django.contrib.auth.views.logout', name='logout')
mecid
(r'^accounts/logout/$', 'django.contrib.auth.views.logout', {'name' : 'logout'} )
вот так можно
Mutagena
Но когда указываю в шаблоне
<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.
vaxXxa
url(regex, view, kwargs=None, name=None, prefix='')
Так что должно быть примерно так:
(r'^accounts/logout/$', 'django.contrib.auth.views.logout', {'vash' : 'dopolnitelnyj_slovar'}, name='logout')
Mutagena
vaxXxa так нельзя указывать.
Нужен какой-то другой способ.
Mutagena
Проблема решена.
vaxXxa
Mutagena, поясните, почему так нельзя указывать и как решена проблема?
Mutagena
Вот таким способом:
urlpatterns += patterns('django.contrib.auth.views',
url(r'^accounts/logout/$',
'logout',
{'next_page': '/',
'template_name': 'accounts/logout.html',
},
name = 'logout',
),
)
vaxXxa
эм.. а я что написал? не тоже ли самое?
Mutagena
Не знаю причину, но у меня почему-то не заработало. Заработало только с вынесением части пути до преставления в отдельный параметр.
This is a "lo-fi" version of our main content. To view the full version with more information, formatting and images, please click here.
Powered by DjangoBB