python - Django 错误 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:\Users\D\Documents\django\project\env\lib\site-packages\django\core\handlers\exception.py", line 47, in inner
response = get_response(request)
File "C:\Users\D\Documents\django\project\env\lib\site-packages\django\core\handlers\base.py", line 181, in _get_response
response = wrapped_callback(request, *callback_args, **callback_kwargs)
File "C:\Users\D\Documents\django\project\project\App\decorations.py", line 7, in wrap
return function(request, *args, **kwargs)
File "C:\Users\D\Documents\django\project\project\App\views.py", line 40, in add_subject_view
newsubj = AddSubjectForm()
File "C:\Users\D\Documents\django\project\env\lib\site-packages\django\forms\models.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.
我的表格.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})
解决方案
你有一个错字,应该是Meta
而不是meta
。
推荐阅读
- c# - 在给定时间范围后关闭进程
- python - 大熊猫从长格式到宽格式
- php - 两个数组 foreach 回显
- apache - 如何使用 MAMP 中的虚拟主机在 2 个不同的子域上托管 2 个项目
- javascript - 数据库值未显示在 jsp 和 jstl 文件中
- python - 使用 ImageDataGenerator 生成的批处理训练的二元分类器模型在没有 ImageDataGenerator 的情况下不会给出相同的结果
- javascript - 如果不内联调用,香草 javascript 函数仅键入不起作用的数字
- javascript - 如何从 Blogger 中的链接 URL 中删除搜索和标签文本
- mysql - 按日期从 F 表搜索的最新数量从另外两个表插入 R 表,并从表 S mysql 中的其他数据
- javascript - 使用节点 mysql (Discord Bot) 返回特定行时遇到问题