首页 > 解决方案 > 如何使用 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)

标签: djangodjango-modelsdjango-viewsdjango-forms

解决方案


推荐阅读