为什么我收到“此字段是必需的”在页面加载时

问题描述

我的模板中有一个表单,我使用 django-crispy-forms 来实现。我有models.py,然后创建了forms.py,然后在我的views.py 中使用它。我不知道为什么我一直有“此字段是必需的”。每当我加载页面时。我有一些感觉,它与你的 views.py 有关。如果我能收到一些解决方案,我会很高兴。谢谢

这是页面的图像。

enter image description here

models.py

class add_courses(models.Model):
    Course_Name = models.CharField(max_length=200)
    Manager_Name = models.ForeignKey(Manager_login_information,on_delete=models.CASCADE)

    choices = (
            ("online","online"),("in person","in person")
        )

    description = models.TextField(default='')
    syllabus = models.TextField(default='')
    classroom = models.CharField(choices=choices,default='in person',max_length=12)
    location = models.CharField(max_length=40,default='')
    course_code = models.CharField(max_length=14,default='')
    student = models.ManyToManyField(add_students_by_manager)
    teacher = models.ManyToManyField(add_teacher_by_manager)
    schedule = models.ForeignKey(course_schedule,on_delete=models.CASCADE)

    def __str__(self):
        return self.Course_Name

views.py

def manager_page(request):
    if request.method=="POST":
        manager_id = request.POST.get('manager_id')
        manager_name = request.POST.get('manager_name')

        form3 = AddCourses()
        if request.method == "POST":
            form3 = AddCourses(request.POST)
            if form3.is_valid():
                form3.save()
                return redirect("/")

        # get_course_details = add_course.objects.all()

        courses = add_courses.objects.all().order_by('-id')

        get_supervisor_man=manager_supervisor.objects.filter(manager_id=manager_id)

        Manager_login_information_get1 = Manager_login_information.objects.get(manager_ID=manager_id)
        # print(Manager_login_information_get1)

        manager_usid = Manager_login_information_get1.manager_ID
        manager_usname = Manager_login_information_get1.manager_Name

        context9 = {'manager_id':manager_id,'manager_name':manager_name,'form1':form1,'form2':form2,'form3':form3,'courses':courses,'Manager_login_information_get1':Manager_login_information_get1}
        return render(request,'manager_page.html',context9)
    else:
        return redirect('/')

解决方法

在您的模型中,您必须添加 blank=True 以允许空白字段。(默认为 False)

所以你的模型看起来像这样:

class add_courses(models.Model):
    Course_Name = models.CharField(max_length=200,blank=True)
    ...
    ...

相关问答

Selenium Web驱动程序和Java。元素在(x,y)点处不可单击。其...
Python-如何使用点“。” 访问字典成员?
Java 字符串是不可变的。到底是什么意思?
Java中的“ final”关键字如何工作?(我仍然可以修改对象。...
“loop:”在Java代码中。这是什么,为什么要编译?
java.lang.ClassNotFoundException:sun.jdbc.odbc.JdbcOdbc...