Python Django模型表单在默认情况下是必需的吗?如何将整个表单的required设置为false?

Python Django模型表单在默认情况下是必需的吗?如何将整个表单的required设置为false?,python,django,forms,model,Python,Django,Forms,Model,models.py: forms.py html呈现: 包含必填字段的HTML的一部分: 我没有在任何地方指出表单应该要求所有字段,但它们是随附的。那么,Django模型表单在默认情况下是必需的吗?如何将整个表单的required设置为false?将blank=True添加到不需要的字段中 class Venue(models.Model): . . . title = models.CharField(max_length=300, blank=True) . . .

models.py:

forms.py

html呈现:

包含必填字段的HTML的一部分:

我没有在任何地方指出表单应该要求所有字段,但它们是随附的。那么,Django模型表单在默认情况下是必需的吗?如何将整个表单的required设置为false?

将blank=True添加到不需要的字段中

class Venue(models.Model):
    . . .
    title = models.CharField(max_length=300, blank=True)
    . . .

你能提供一个例子吗?在构建一个模型时,一般需要考虑两个参数。空白和空参数。字段blank=True表示表单中不需要该字段,但是,如果不提供该字段并且没有默认设置,则保存将崩溃,因为模型字段不能为null。另外,使用null=True比使用default=更好,并且不要在表单字段中添加标签,而是在模型字段中添加详细的名称。[.@Borut再次感谢您提供的信息。链接。但是标签很容易设置样式,与verbose_name相同吗?我不知道您对样式设置的意思。根据我的经验,它是一样的。但这是您的选择。如果您不想,您不必使用它。我更喜欢它,因为表单代码看起来更干净。我很少需要用它来覆盖verbose_name模型形式中的h标签。
class VenueForm(forms.ModelForm):
    class Meta:
        model = Venue
        fields = [
            'title',
            'content',
            'city',
            'address',
            'phone',
            'email',
            'site',
            'facebook',
            'instagram',
        ]

    def __init__(self, *args, **kwargs):
        super(VenueForm, self).__init__(*args, **kwargs)
        self.fields['title'].label = "Име"
        self.fields['content'].label = 'Описание'
        self.fields['city'].label = 'Град'
        self.fields['address'].label = 'Адрес'
        self.fields['phone'].label = 'Телефон'
        self.fields['email'].label = 'E-mail'
        self.fields['site'].label = 'Сайт'
<form method="post" id="dialog_addVenue_part" enctype="multipart/form-data">
    {% csrf_token %}
    {% for hidden in postForm.hidden_fields %}
        {{ hidden }}
    {% endfor %}
    {% for field in form %}
        <div class="fieldWrapper">
            <div class="errorcode{{field.html_name}}">
                {{ field.errors }}
            </div>
            {{ field.label_tag }} {{ field }}
            {% if field.help_text %}
            <p class="help">{{ field.help_text|safe }}</p>
            {% endif %}
        </div>
    {% endfor %}
    <div id="map" style="height: 500px;">

    </div>
    <div class="utf_addVenue_form">
        <button type="submit" value="Изпрати">Изпрати</button>
    </div>
</form>
    <div class="fieldWrapper">
        <div class="errorcodesite">

        </div>
        <label for="id_site">Сайт:</label> <input type="text" name="site" maxlength="100" required="" id="id_site">

</div>

<div class="fieldWrapper">
    <div class="errorcodefacebook">

    </div>
    <label for="id_facebook">Facebook:</label> <input type="text" name="facebook" maxlength="100" required="" id="id_facebook">

</div>
class Venue(models.Model):
    . . .
    title = models.CharField(max_length=300, blank=True)
    . . .