在写django ModelForm时遇到这了该错误:
Traceback (most recent call last): File "C:\Program Files (x86)\JetBrains\PyCharm\helpers\pycharm\django_manage.py", line 41, in <module> run_module(manage_file, None, '__main__', True) File "C:\Program Files\Python35\lib\runpy.py", line 196, in run_module return _run_module_code(code, init_globals, run_name, mod_spec) File "C:\Program Files\Python35\lib\runpy.py", line 96, in _run_module_code mod_name, mod_spec, pkg_name, script_name) File "C:\Program Files\Python35\lib\runpy.py", line 85, in _run_code exec(code, run_globals) File "D:/MyBlog\manage.py", line 10, in <module> execute_from_command_line(sys.argv) File "D:\myblogenv\lib\site-packages\django\core\management\__init__.py", line 350, in execute_from_command_line utility.execute() File "D:\myblogenv\lib\site-packages\django\core\management\__init__.py", line 342, in execute self.fetch_command(subcommand).run_from_argv(self.argv) File "D:\myblogenv\lib\site-packages\django\core\management\base.py", line 348, in run_from_argv self.execute(*args, **cmd_options) File "D:\myblogenv\lib\site-packages\django\core\management\base.py", line 399, in execute output = self.handle(*args, **options) File "D:\myblogenv\lib\site-packages\django\core\management\commands\check.py", line 51, in handle include_deployment_checks=include_deployment_checks, File "D:\myblogenv\lib\site-packages\django\core\management\base.py", line 426, in check include_deployment_checks=include_deployment_checks, File "D:\myblogenv\lib\site-packages\django\core\checks\registry.py", line 75, in run_checks new_errors = check(app_configs=app_configs) File "D:\myblogenv\lib\site-packages\django\core\checks\urls.py", line 10, in check_url_config return check_resolver(resolver) File "D:\myblogenv\lib\site-packages\django\core\checks\urls.py", line 19, in check_resolver for pattern in resolver.url_patterns: File "D:\myblogenv\lib\site-packages\django\utils\functional.py", line 33, in __get__ res = instance.__dict__[self.name] = self.func(instance) File "D:\myblogenv\lib\site-packages\django\core\urlresolvers.py", line 417, in url_patterns patterns = getattr(self.urlconf_module, "urlpatterns", self.urlconf_module) File "D:\myblogenv\lib\site-packages\django\utils\functional.py", line 33, in __get__ res = instance.__dict__[self.name] = self.func(instance) File "D:\myblogenv\lib\site-packages\django\core\urlresolvers.py", line 410, in urlconf_module return import_module(self.urlconf_name) File "C:\Program Files\Python35\lib\importlib\__init__.py", line 126, in import_module return _bootstrap._gcd_import(name[level:], package, level) File "<frozen importlib._bootstrap>", line 986, in _gcd_import File "<frozen importlib._bootstrap>", line 969, in _find_and_load File "<frozen importlib._bootstrap>", line 958, in _find_and_load_unlocked File "<frozen importlib._bootstrap>", line 673, in _load_unlocked File "<frozen importlib._bootstrap_external>", line 665, in exec_module File "<frozen importlib._bootstrap>", line 222, in _call_with_frames_removed File "D:/MyBlog\MyBlog\urls.py", line 27, in <module> url(r'^cuser/', include('cuser.urls')), File "D:\myblogenv\lib\site-packages\django\conf\urls\__init__.py", line 52, in include urlconf_module = import_module(urlconf_module) File "C:\Program Files\Python35\lib\importlib\__init__.py", line 126, in import_module return _bootstrap._gcd_import(name[level:], package, level) File "<frozen importlib._bootstrap>", line 986, in _gcd_import File "<frozen importlib._bootstrap>", line 969, in _find_and_load File "<frozen importlib._bootstrap>", line 958, in _find_and_load_unlocked File "<frozen importlib._bootstrap>", line 673, in _load_unlocked File "<frozen importlib._bootstrap_external>", line 665, in exec_module File "<frozen importlib._bootstrap>", line 222, in _call_with_frames_removed File "D:/MyBlog\cuser\urls.py", line 7, in <module> from .views import loginView, registerView, active_accountView, forgetpwdView, resetpwdView, uploadImageView,userInfoView File "D:/MyBlog\cuser\views.py", line 6, in <module> from .forms import LoginForm, RegisterForm, ForgetPwdForm, ResetPwdForm, UploadImageForm File "D:/MyBlog\cuser\forms.py", line 12, in <module> class LoginForm(ModelForm): File "D:\myblogenv\lib\site-packages\django\forms\models.py", line 247, in __new__ opts.field_classes) File "D:\myblogenv\lib\site-packages\django\forms\models.py", line 172, in fields_for_model formfield = f.formfield(**kwargs) File "D:\myblogenv\lib\site-packages\django\db\models\fields\__init__.py", line 1120, in formfield return super(CharField, self).formfield(**defaults) File "D:\myblogenv\lib\site-packages\django\db\models\fields\__init__.py", line 903, in formfield return form_class(**defaults) File "D:\myblogenv\lib\site-packages\django\forms\fields.py", line 228, in __init__ super(CharField, self).__init__(*args, **kwargs) File "D:\myblogenv\lib\site-packages\django\forms\fields.py", line 129, in __init__ messages.update(error_messages or {})
经查找后发现:
class LoginForm(ModelForm): class Meta: model = UserProfiles fields = ['username', 'password'] error_messages = { 'username': {'required', 'username Required'}, 'password': {'required': 'Password contains digit and word.'} }
上面的LoginForm在定义时,error_messages 字段对应的错误提示应该是字典,但第一个username的字典中间误写成了逗号,导致了该错误
将其修改后为冒号后,一切正常.