首页 > 解决方案 > 具有网格布局的 Django 表单

问题描述

我正在尝试实现网格布局,以便将学生的分数输入到我的模型中。该模型描述为:

class User(AbstractUser):
  is_student = models.BooleanField(default=False)
  is_teacher = models.BooleanField(default=True)
  email = models.EmailField('email address', blank=False)
  first_name = models.CharField(max_length=50, blank=False)
  last_name = models.CharField(max_length=50, blank=False)

class Student(models.Model):
  user = models.OneToOneField(User, on_delete=models.CASCADE, null=True, related_name='student_profile')
  yoe = models.IntegerField('year of enrollment', choices=YEAR_CHOICES,
                          default=datetime.datetime.now().year)
  photo = models.ImageField(upload_to='student/%Y/')

class Paper(models.Model):
  semester = models.CharField(max_length=1)
  name_of_paper = models.CharField(max_length=200)
  max_pass_marks = models.IntegerField("Max Marks",validators=[MaxValueValidator(99)])

class Test(models.Model):      
  student = models.ForeignKey(Student, on_delete=models.CASCADE, default='')
  paper = models.ForeignKey(Paper, on_delete=models.CASCADE, default='')
  dot = models.DateField("Date of Test")
  marks = models.IntegerField("Marks Obtained",validators=[MaxValueValidator(99)], default=0)

我希望能够创建一个具有网格布局的表单,其中网格的每一行都有学生姓名,后跟文本框,用户可以在其中输入学生在他们选择的每篇“论文”中获得的考试成绩。显然,测试分数应该填充“测试”表/模型。我对 django 比较陌生,不能真正解决这个问题。任何帮助将不胜感激。

标签: djangopython-3.xdjango-modelsdjango-forms

解决方案


推荐阅读