我的代码中有Django错误,我应该怎么做

2024-05-15 12:32:33 发布

您现在位置:Python中文网/ 问答频道 /正文

from django.core.management import setup_environ
from register2 import settings
setup_environ(settings)


from django import forms
from django.contrib.auth.forms import AuthenticationForm
from django.utils.translation import ugettext_lazy as _


class AuthenticationRememberMeForm ( AuthenticationForm ):

            """
            Subclass of Django ``AuthenticationForm`` which adds a remember me checkbox.

            """

            remember_me = forms.BooleanField (
                label = _( 'Remember Me' ),
                initial = False,
                required = False,
                )

print AuthenticationRememberMeForm.remember_me


Traceback (most recent call last):
  File "D:\zjm_code\register2\b.py", line 26, in <module>
    print AuthenticationRememberMeForm['remember_me']
TypeError: 'DeclarativeFieldsMetaclass' object is unsubscriptable

Tags: djangofromcoreimportfalsesettingssetupenviron
1条回答
网友
1楼 · 发布于 2024-05-15 12:32:33

djangoforms模块使用元类来简化表单字段的声明性语法。因此,您应该将remember_me视为窗体实例字段,而不是类属性。所以访问这个领域是有意义的:

form = AuthenticationRememberMeForm()
field_obj = form.fields['remember_me']

或者,类似地,值:

^{pr2}$

显然,django.forms正在幕后做一些工作来实现这一点。如果您想了解如何操作,请查看relevant code。如果您只想让您的表单有效,请尝试遵循usage outlined in the docs。在

相关问题 更多 >