我应该在哪个文件中定义要为模型创建的ModelForm?

时间:2019-06-10 05:14:14

标签: python django django-models django-forms

我在/models.py中创建了一个Model,其代码如下所示。我正在尝试为我的Question Model类定义一个ModelForm。我应该在哪个文件中定义我的ModelForm类?

class Question(models.Model):
    """ Defines logical structure of question object. """
    question_text = models.CharField(max_length=200)
    pub_date = models.DateTimeField()

    def __str__(self):
        return self.question_text

3 个答案:

答案 0 :(得分:1)

通过在您的应用程序内部创建文件forms.py,添加以下代码

from django import forms

class QuestionForm(forms.ModelForm):
  class Meta:
    model = Question
    fields = '__all__'

答案 1 :(得分:0)

遵循此模式。

  1. DJango在创建项目和应用程序时会创建各种文件。 (例如Models.py,Admin.py等),但它并未创建某些特定于应用的文件,例如urls.py和Forms.py。

  2. 要获取这些文件,您只需在应用目录上单击鼠标右键并创建一个新文件,即可在您想要的文件中应用中手动创建它们名为 forms.py urls.py 的文件。

  3. 记住Django和python区分大小写,因此请确保输入正确的名称和名称间距。

答案 2 :(得分:0)

您有几种选择:

  1. 就像其他人提到的那样,您可以创建一个包含所有表单的forms.py文件。
  2. 对于较大的项目,通常将有一个models/和一个forms/目录。在前者中,您可以使用question_model.py,在后者中,您可以使用question_form.py
  3. 有些人选择将模型及其形式放在同一文件中。

如果您只是入门,那么我认为选项1最有意义。 Here是用于构建表单的文档。