我正在尝试构建类似问卷的应用。我已经构建了/images?name=../../../etc/password
,如下所示:
models.py
但是我很难想出能够在前端正确显示它然后验证输入数据的表单。
我尝试在我的# models.py
class QuestionSet(models.Model):
name = models.CharField(max_length=100)
description = models.TextField(blank=True)
def __str__(self):
return "{} Question Form".format(self.name)
class Question(models.Model):
q_set = models.ForeignKey(QuestionSet,
on_delete=models.CASCADE,
related_name='questions')
text = models.CharField(max_length=100)
def __str__(self):
return self.text
class Answer(models.Model):
user = models.ForeignKey(settings.AUTH_USER_MODEL,
on_delete=models.CASCADE,
related_name='answers')
question = models.ForeignKey(Question)
text = models.CharField(max_length=100)
def __str__(self):
return "Answer to {}".format(self.question)
模型中显示问题的文本,并在下面添加输入字段,所有这些都不使用Django Forms。虽然这可能看起来有效,但它会引发数据验证问题,并将数据与特定问题(带有问题ID值的隐藏字段)相关联。
我是否有办法创建表单,多个Question
s(都属于同一个Question
),这将显示只读字段(QuestionSet
模型&#39 ; s文本字段)和相关的输入字段(Question
模型文本字段)?
答案 0 :(得分:1)
你应该为你的答案模型制作一个ModelForm。查看关于模型的Django文档,它非常简单,验证将根据您在模型中指定的内容自动处理。