django - 如何使用 django inlineformset_factory 允许用户在基于函数的视图中创建课程
问题描述
好的,我真的很难弄清楚如何在基于函数的视图中使用 django inlineformset_factory 作为表单来允许用户创建自己的课程,当我尝试创建时,我一直遇到这个错误(ModelForm 没有指定模型类)一门课程,在基于函数的视图中使用 inlnineformset 是否有更好的做法?还是只有基于类的视图才有可能?下面是我创建课程和模块的表格。
from django.forms.models import inlineformset_factory
from .models import Course, Module
class CreateCourse(forms.ModelForm):
ModuleFormSet = inlineformset_factory(Course,
Module,
fields=['title',
'description'],
extra=2,
can_delete=True)
这是我创建课程的功能基础视图
def course_create(request):
if request.method == "POST":
form = CreateCourse(request.POST,request.FILES)
if form.is_valid():
form.save()
return redirect('courses:main')
else:
form = CreateCourse(request.POST,request.FILES)
context={'form':form}
return render(request,'manage/module/formset.html',context)
解决方案
推荐阅读
- python - 收到请求时如何修改flask的默认输出
- node.js - 无法使用 Node.js 从 SQLite 数据库中检索新值
- python-3.x - Python 中的单词大写,但有例外(不是每个单词)
- python-3.x - 如果 __name__ == '__main__' 如何使用:
- python - 如何通过 Boto3 将文件上传到 S3 中的特定文件夹
- node.js - 如何修复 Node.js 中的“未定义参数”错误?
- database-design - 防止基于节点属性创建新关系
- html - 在 CSS 中为顶部和底部边框创建波浪形边框
- php - 错误号:1066 不是唯一的表/别名:codeigniter 中的“tb_perumahan”
- css - “滚动条未显示在 'firefox 浏览器' css 问题中”