python - 使用内置 AuthenticationForm 时的 Django-crispy-forms AttributeError

标签 python django django-crispy-forms

我正在尝试使用 django-crispy-forms 在 django 的登录 View 中显示内置的 AuthenticationForm。我在继承 AuthenticationForm 时遇到问题 - 我收到 AttributeError。错误显示 'WSGIrequest' 对象没有属性 'get'。 这是我的表单:

class LoginForm(AuthenticationForm):
    def __init__(self, *args, **kwargs):
        self.helper = FormHelper()
        self.helper.form_tag = False
        self.helper.layout = Layout(
            Field('username', placeholder="username"),
            Field('password', placeholder="password"),)
        super(AuthenticationForm, self).__init__(*args, **kwargs)

我认为此错误与通过从重定向获取调用的登录 View 有关(我正在使用 @login_required 装饰器)。有没有人对如何使用 django-crispy-forms 对内置表单进行子类化并避免此错误有任何想法?

最佳答案

您的表单中似乎有错误:

class LoginForm(AuthenticationForm):
    def __init__(self, *args, **kwargs):
        super(LoginForm, self).__init__(*args, **kwargs)
        self.helper = FormHelper()
        self.helper.form_tag = False
        self.helper.layout = Layout(
            Field('username', placeholder="username"),
            Field('password', placeholder="password"),
        )

您正在调用 super,传递父类 AuthenticationForm 而不是 LoginForm

关于python - 使用内置 AuthenticationForm 时的 Django-crispy-forms AttributeError,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/15845023/

相关文章:

javascript - Django 脆皮表单添加 javascript

python - 如何通过具有manytomany字段的Django表单编辑/更新模型?

python - 关于Word和CaselessKeyword的pyparsing

python - 如何使用gensim wikicorpus获取带有标点符号的维基百科语料库文本?

python - 如何在pycharm终端自动打开url(不是点击打开)http ://127. 0.0.1 :8000 python manage. py runserver

python - on_delete = models.PROTECT和on_delete = models.CASCADE对Django模型有什么作用?

jquery - AJAX 的 Django ORM 问题

python - 使用 python 为 django 设置虚拟环境的重要性

python - 如何在 Django 中只打印当前登录的用户数据?

python - 脆皮表格和 bootstrap 3 没有显示错误消息