我正在尝试在我的网页中使用django.contrib.auth.views.login的每个页面中放置一个登录表单。我在templatetags / mytags.py中创建了一个templatetag,我在其中定义了一个名为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 }}
......等等。
我错过了什么?
答案 0 :(得分:1)
mark_safe
返回django.utils.safestring.SafeString
的实例,而不是表单,因此这些查找将失败。我认为直接返回表单没有任何问题(例如,django.contrib.auth
中的所有通用视图在填充模板时都会这样做)。只需将您的退货声明更改为
return {'formLogin': AuthenticationForm()}
它应该有用。