【问题标题】:django - template tag problem using AuthenticationFormdjango - 使用 AuthenticationForm 的模板标签问题
【发布时间】:2011-09-29 01:49:09
【问题描述】:

我正在尝试在我的网站中使用 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 }}...等等。

我错过了什么?

【问题讨论】:

    标签: django forms authentication login django-templates


    【解决方案1】:

    mark_safe 返回django.utils.safestring.SafeString 的实例,而不是表单,因此这些查找将失败。我认为直接返回表单没有任何问题(例如,django.contrib.auth 中的所有通用视图在填充模板时都会这样做)。只需将您的退货声明更改为

    return {'formLogin': AuthenticationForm()}
    

    它应该可以工作。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2021-10-09
      • 1970-01-01
      • 2011-10-22
      • 2011-07-22
      • 1970-01-01
      • 2014-03-20
      • 2011-04-16
      相关资源
      最近更新 更多