我的 django 应用程序上出现此错误,我尝试了所有可能的解决方案,但它仍然相同

问题描述 投票:0回答:1

所以我试图为我的大学项目构建一个实时聊天应用程序,我使用了 django,因为我听说它非常灵活,可以用作 webframewoke 应用程序,但自从我开始以来,我一直面临错误,我对大多数错误都有解决方案,但我得到了陷入这个错误,所以我需要帮助 #forms.py

from django.contrib.auth.forms import UserChangeForm
from django.contrib.auth.models import User
from django.db import models
from django import forms

class SignupForm(UserChangeForm):
    class Meta:
        model = User

        fields = ['username', 'password1', 'password2']

#urls.py

from django.urls import path
from django.contrib.auth import views as auth_views
from . import views

urlpatterns = [
    path('members/', views.members, name='members'),
    path('', views.frontpage, name='frontpage'),
    path('signup/', views.signup, name='signup'),
    path('login/', auth_views.LoginView.as_view(template_name='members\login.html'), name='login'),
    path('logout/', auth_views.LogoutView.as_view(), name='logout'),
]

#views.py

from django.contrib.auth import login
from django.shortcuts import render, redirect


from .forms import SignUpForm

def frontpage(request):
    return render(request, 'members\frontpage.html')

def signup(request):
    if request.method == 'POST':
        form = SignUpForm(request.POST)

        if form.is_valid():
            user = form.save()
            login(request)
            return redirect('frontpage')
    else:
        form = SignUpForm()
    return render(request, 'members/signup.html', {'form': form})

#models.py

from django.db import models
from django.contrib.auth.models import User

class User(models.Model):
    username = models.CharField(max_length=255, blank= True, editable=True) 
    password1 = models.CharField(max_length=30, null=True, blank=True, editable= True)
    password2 = models.CharField(max_length=30, null=True, blank=True, editable= True)

#错误信息

Exception in thread django-main-thread:
Traceback (most recent call last):
  File "C:\Program Files\WindowsApps\PythonSoftwareFoundation.Python.3.12_3.12.1008.0_x64__qbz5n2kfra8p0\Lib\threading.py", line 1073, in _bootstrap_inner
    self.run()
  File "C:\Program Files\WindowsApps\PythonSoftwareFoundation.Python.3.12_3.12.1008.0_x64__qbz5n2kfra8p0\Lib\threading.py", line 1010, in run
    self._target(*self._args, **self._kwargs)
  File "C:\Users\bdjam\OneDrive\Bureau\project\chatapp\Lib\site-packages\django\utils\autoreload.py", line 64, in wrapper
    fn(*args, **kwargs)
  File "C:\Users\bdjam\OneDrive\Bureau\project\chatapp\Lib\site-packages\django\core\management\commands\runserver.py", line 133, in inner_run
    self.check(display_num_errors=True)
  File "C:\Users\bdjam\OneDrive\Bureau\project\chatapp\Lib\site-packages\django\core\management\base.py", line 486, in check
    all_issues = checks.run_checks(
                 ^^^^^^^^^^^^^^^^^^
  File "C:\Users\bdjam\OneDrive\Bureau\project\chatapp\Lib\site-packages\django\core\checks\registry.py", line 88, in run_checks
    new_errors = check(app_configs=app_configs, databases=databases)
                 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "C:\Users\bdjam\OneDrive\Bureau\project\chatapp\Lib\site-packages\django\core\checks\urls.py", line 14, in check_url_config
    return check_resolver(resolver)
           ^^^^^^^^^^^^^^^^^^^^^^^^
  File "C:\Users\bdjam\OneDrive\Bureau\project\chatapp\Lib\site-packages\django\core\checks\urls.py", line 24, in check_resolver
    return check_method()
           ^^^^^^^^^^^^^^
  File "C:\Users\bdjam\OneDrive\Bureau\project\chatapp\Lib\site-packages\django\urls\resolvers.py", line 519, in check
    for pattern in self.url_patterns:
                   ^^^^^^^^^^^^^^^^^
  File "C:\Users\bdjam\OneDrive\Bureau\project\chatapp\Lib\site-packages\django\utils\functional.py", line 47, in __get__
    res = instance.__dict__[self.name] = self.func(instance)
                                         ^^^^^^^^^^^^^^^^^^^
  File "C:\Users\bdjam\OneDrive\Bureau\project\chatapp\Lib\site-packages\django\urls\resolvers.py", line 738, in url_patterns
    patterns = getattr(self.urlconf_module, "urlpatterns", self.urlconf_module)
                       ^^^^^^^^^^^^^^^^^^^
  File "C:\Users\bdjam\OneDrive\Bureau\project\chatapp\Lib\site-packages\django\utils\functional.py", line 47, in __get__
    res = instance.__dict__[self.name] = self.func(instance)
                                         ^^^^^^^^^^^^^^^^^^^
  File "C:\Users\bdjam\OneDrive\Bureau\project\chatapp\Lib\site-packages\django\urls\resolvers.py", line 731, in urlconf_module
    return import_module(self.urlconf_name)
           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "C:\Program Files\WindowsApps\PythonSoftwareFoundation.Python.3.12_3.12.1008.0_x64__qbz5n2kfra8p0\Lib\importlib\__init__.py", line 90, in import_module
    return _bootstrap._gcd_import(name[level:], package, level)
           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "<frozen importlib._bootstrap>", line 1387, in _gcd_import
  File "<frozen importlib._bootstrap>", line 1360, in _find_and_load
  File "<frozen importlib._bootstrap>", line 1331, in _find_and_load_unlocked
  File "<frozen importlib._bootstrap>", line 935, in _load_unlocked
  File "<frozen importlib._bootstrap_external>", line 995, in exec_module
  File "<frozen importlib._bootstrap>", line 488, in _call_with_frames_removed
  File "C:\Users\bdjam\OneDrive\Bureau\project\chat\chat\urls.py", line 21, in <module>
    path('', include('members.urls')),
             ^^^^^^^^^^^^^^^^^^^^^^^
  File "C:\Users\bdjam\OneDrive\Bureau\project\chatapp\Lib\site-packages\django\urls\conf.py", line 39, in include
    urlconf_module = import_module(urlconf_module)
                     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "C:\Program Files\WindowsApps\PythonSoftwareFoundation.Python.3.12_3.12.1008.0_x64__qbz5n2kfra8p0\Lib\importlib\__init__.py", line 90, in import_module
    return _bootstrap._gcd_import(name[level:], package, level)
           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "<frozen importlib._bootstrap>", line 1387, in _gcd_import
  File "<frozen importlib._bootstrap>", line 1360, in _find_and_load
  File "<frozen importlib._bootstrap>", line 1331, in _find_and_load_unlocked
  File "<frozen importlib._bootstrap>", line 935, in _load_unlocked
  File "<frozen importlib._bootstrap_external>", line 995, in exec_module
  File "<frozen importlib._bootstrap>", line 488, in _call_with_frames_removed
  File "C:\Users\bdjam\OneDrive\Bureau\project\chat\members\urls.py", line 3, in <module>
    from . import views
  File "C:\Users\bdjam\OneDrive\Bureau\project\chat\members\views.py", line 5, in <module>
    from .forms import SignUpForm
  File "C:\Users\bdjam\OneDrive\Bureau\project\chat\members\forms.py", line 6, in <module>
    class SignupForm(UserChangeForm):
  File "C:\Users\bdjam\OneDrive\Bureau\project\chatapp\Lib\site-packages\django\forms\models.py", line 332, in __new__
    raise FieldError(message)
django.core.exceptions.FieldError: Unknown field(s) (password1, password2) specified for User

gJHVJ

django windows visual-studio-code
1个回答
0
投票

在您的

forms.py
中,您正在导入django的内置
User
模型,这就是它给出错误的原因:
Unknown field(s) (password1, password2) specified for User

解决方案: 从

User
中的
models.py
导入
forms.py
模型:

from .models import User

# then class definition:
class SignupForm(UserChangeForm):
© www.soinside.com 2019 - 2024. All rights reserved.