Python Django ModelForm没有指定模型类,尽管Meta类中的模型设置为模型

Python Django ModelForm没有指定模型类,尽管Meta类中的模型设置为模型,python,python-3.x,django,django-models,django-forms,Python,Python 3.x,Django,Django Models,Django Forms,错误为“ModelForm未指定模型类” forms.py代码 from django.contrib.auth.models import User from basic_app.models import UserProfileInfo class UserForm(forms.ModelForm): password = forms.CharField(widget=forms.PasswordInput()) class Meta(): models

错误为“ModelForm未指定模型类”

forms.py代码

from django.contrib.auth.models import User
from basic_app.models import UserProfileInfo

class UserForm(forms.ModelForm):
    password = forms.CharField(widget=forms.PasswordInput())

    class Meta():
        models = User
        fields = ('username', 'email', 'password')

class UserProfileInfoForm(forms.ModelForm):
    class Meta():
        model = UserProfileInfo
        fields = ('portfolio_site', 'profile_pic')
models.py代码

from django.db import models
from django.contrib.auth.models import User
# Create your models here.

class UserProfileInfo(models.Model):

    user = models.OneToOneField(User, on_delete=models.CASCADE)
    #additional
    portfolio_site = models.URLField(blank=True)

    profile_pic = models.ImageField(upload_to='profile_pics', blank=True)

    def __str__(self):
        return self.user.username
views.py代码

from django.shortcuts import render
from basic_app.forms import UserProfileInfoForm, UserForm
# Create your views here.
def index(request):
    return render(request, 'basic_app/index.html')

def register(request):

    registered = False

    if request.method == 'POST':

        user_form = UserForm(data=request.POST)
        profile_form = UserProfileInfoForm(data=request.POST)

        if user_form.is_valid() and profile_form.is_valid():
            user = user_form.save()
            user.set_password(user.password)
            user.save()

            profile = profile_form.save(commit=False)
            profile.user = user

            if 'profile_pic' in request.FILES:
                profile.profile_pic = request.FILES['profile_pic']

            profile.save()

            registered = True
        else:
            print(user_form.errors, profile_form.errors)
    else:
        user_form = UserForm()
        profile_form = UserProfileInfoForm()

    return render(request, 'basic_app/registration.html',
    {'user_form' : user_form, 'profile_form' : profile_form, 'registered' : registered})
当我试图创建一个新的用户表单(
user\u form=UserForm()
)时,会发生此错误。 虽然在我的元类中,我将模型设置为从
django.contrib.auth.models
导入的
User
模型


我认为你表格中的拼写是错误的。你能试着纠正一下吗:将Meta()改为Meta:然后从models改为model

class UserForm(forms.ModelForm):
   password = forms.CharField(widget=forms.PasswordInput())

   class Meta:
      model = User
      fields = ('username', 'email', 'password')

class UserProfileInfoForm(forms.ModelForm):
   class Meta:
      model = UserProfileInfo
      fields = ('portfolio_site', 'profile_pic')

您输入了一个错误:它是
model=
,而不是
models=
。此外,请不要写
class Meta():
,而要写
class Meta:
lol我不知道我怎么会不明白,非常感谢