django - проблема с тегом шаблона при использовании AuthenticationForm - PullRequest
0 голосов
/ 05 июля 2011

Я пытаюсь разместить форму входа на каждой странице в моей сети, которая использует django.contrib.auth.views.login. Я создал тег шаблона в templatetags / mytags.py, где я определяю функцию get_login, которая выглядит следующим образом:

@register.inclusion_tag('registration/login.html', takes_context=True)
def get_login(context):
    ...
    return {'formLogin':  mark_safe(AuthenticationForm())}

... и в base.html:

{% load mytags  %}{% get_login  %}

Проблема теперь в том, что шаблон (registration / login.html) не распознает {{ formLogin.username }}, {{ formLogin.password }} ... и т. Д.

Чего мне не хватает?

1 Ответ

1 голос
/ 05 июля 2011

mark_safe возвращает экземпляр django.utils.safestring.SafeString, а не форму, поэтому поиск не будет выполнен. Я не думаю, что что-то не так с прямым возвратом формы (это то, что делают, например, все общие представления в django.contrib.auth при заполнении шаблонов). Просто измените ваше заявление о возврате на

return {'formLogin': AuthenticationForm()}

и должно работать.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...