Django Error ModelForm没有指定模型类



暂时无法通过这个错误,检查了所有相关主题,每个人都有拼写错误/语法问题。我已经检查了一切,代码看起来很好,我真的不能告诉什么可能是问题,如果有人看到这个问题,请帮助。下面我将放置我的代码和错误。

我创建了一个表单,这样我就可以通过一个按钮来添加一个新的主题,我在我的视图中调用这个按钮,并在模板中呈现,非常简单。

回溯

Environment:

Request Method: GET
Request URL: http://127.0.0.1:8000/addsubj/
Django Version: 3.1.5
Python Version: 3.7.0
Installed Applications:
['django.contrib.admin',
'django.contrib.auth',
'django.contrib.contenttypes',
'django.contrib.sessions',
'django.contrib.messages',
'django.contrib.staticfiles',
'App',
'crispy_forms']
Installed Middleware:
['django.middleware.security.SecurityMiddleware',
'django.contrib.sessions.middleware.SessionMiddleware',
'django.middleware.common.CommonMiddleware',
'django.middleware.csrf.CsrfViewMiddleware',
'django.contrib.auth.middleware.AuthenticationMiddleware',
'django.contrib.messages.middleware.MessageMiddleware',
'django.middleware.clickjacking.XFrameOptionsMiddleware']
Traceback (most recent call last):
File "C:UsersDDocumentsdjangoprojectenvlibsite-packagesdjangocorehandlersexception.py", line 47, in inner
response = get_response(request)
File "C:UsersDDocumentsdjangoprojectenvlibsite-packagesdjangocorehandlersbase.py", line 181, in _get_response
response = wrapped_callback(request, *callback_args, **callback_kwargs)
File "C:UsersDDocumentsdjangoprojectprojectAppdecorations.py", line 7, in wrap
return function(request, *args, **kwargs)
File "C:UsersDDocumentsdjangoprojectprojectAppviews.py", line 40, in add_subject_view
newsubj = AddSubjectForm()
File "C:UsersDDocumentsdjangoprojectenvlibsite-packagesdjangoformsmodels.py", line 287, in __init__
raise ValueError('ModelForm has no model class specified.')
Exception Type: ValueError at /addsubj/
Exception Value: ModelForm has no model class specified.
我FORMS.PY

from django.forms import ModelForm from django import forms from django.contrib.auth.forms import UserCreationForm from .models import MyUser, Subject
class AddSubjectForm(ModelForm):
class meta:
model = Subject
fields = ['ime', 'kod', 'program', 'bodovi', 'sem_redovni', 'sem_izvanredni', 'izborni']

MY VIEW(所需的一切都已导入到原始文件中)

@mentor_required
def add_subject_view(request):
if request.method == 'GET':
newsubj = AddSubjectForm()
return render(request, 'add_subject.html', {'subform':newsubj})
elif request.method == 'POST':
newsubj = AddSubjectForm(request.POST)
if newsubj.is_valid():
newsubj.save()
return redirect('subject_list')
else:
return render (request, 'add_subject.html', {'subform':newsubj})

我是Mudassar兄弟,

我看了你的代码,代码是正确的,只是输入错误

你写的class meta是小写的,它应该是大写的,即meta这只是打字错误

你的代码应该是这样的…

class AddSubjectForm(ModelForm):
class Meta:
model = Subject
fields = ['ime', 'kod', 'program', 'bodovi', 'sem_redovni', 'sem_izvanredni', 'izborni']

还要记住,如果你不使用模型的所有字段,那么只有你应该指定,否则在字段…

class AddSubjectForm(ModelForm):
class Meta:
model = Subject
fields = '__all__'

好运

你打错了,应该是Meta而不是meta

相关内容

最新更新