Python 为什么我会得到;此字段为必填字段。”;在加载页面时

Python 为什么我会得到;此字段为必填字段。”;在加载页面时,python,django,django-models,django-forms,django-crispy-forms,Python,Django,Django Models,Django Forms,Django Crispy Forms,我的模板中有一个表单,我使用django crispy表单来实现它。我有models.py,然后创建forms.py,然后在我的views.py中使用它。我不知道为什么每次加载页面时都会出现“This field is required”(此字段为必填字段)。我有一些感觉,这与观点有关。如果我能得到一些解决方案,我会很高兴。谢谢 这是页面的图像。 models.py class add_courses(models.Model): Course_Name = models.CharFi

我的模板中有一个表单,我使用django crispy表单来实现它。我有models.py,然后创建forms.py,然后在我的views.py中使用它。我不知道为什么每次加载页面时都会出现“This field is required”(此字段为必填字段)。我有一些感觉,这与观点有关。如果我能得到一些解决方案,我会很高兴。谢谢

这是页面的图像。

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('/')

在模型中,必须添加以允许空白字段。(默认值为False)

因此,您的模型将如下所示:

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

你也可以把你的模型贴在这里吗?解决方案可能是在模型中添加“blank=True”:再次检查问题,我已经添加了它。谢谢。它适用于所有领域,除了学生和教师领域,这两个领域有很多领域的关系。没问题!您是否再次运行迁移?我认为这也适用于m2m字段。另外,如何用当前的经理信息预先填充经理字段,经理字段是外键。要获取当前的经理/用户信息,必须在视图中进行查询设置。将其应用于“context9”,从模板访问它,您可以在模板上循环。