这是必填栏。 Django的

时间:2018-01-08 21:29:22

标签: python django-forms

需要一些帮助。我的一个表格没有回应。 当我在表单中填写所有信息并单击“提交”按钮时。错误"此字段是必填字段"出现在" NOMBRE"场无缘无故。并且不要让我保存我的对象。

enter image description here

models.py

class Cliente(models.Model):
    nombre = models.CharField(max_length=128)
    edad   = models.IntegerField(default=0)
    telefono = models.CharField(max_length=10)
    correo = models.EmailField(max_length=254)

views.py

class AgendarCreate(SuccessMessageMixin, CreateView):
    model = Cliente
    form_class = AgendarClienteForm
    template_name = 'main_web/agendar.html'
    success_url = reverse_lazy('agendar')
    success_message = "Client was created successfully"

forms.py

class AgendarClienteForm(forms.ModelForm):

    class Meta:
        model = Cliente

        fields = [
            'nombre',
            'edad',
            'telefono',
            'correo',
        ]

        labels = {
            'nombre' : 'Nombre:',
            'edad' : 'Edad:',
            'telefono' : 'Teléfono:',
            'correo' : 'Correo electrónico:',
        }

        widgets = {
            'nombre' : forms.TextInput(attrs={'class':'caja'}),
            'edad' : forms.TextInput(attrs={'class':'caja'}),
            'telefono' : forms.TextInput(attrs={'class':'caja'}),
            'correo' : forms.TextInput(attrs={'class':'caja'}),
        }

HTML

<form id="agendar_forma" method="post" enctype="multipart/form-data">
  {% csrf_token %}
  <p class="titulo_cotizar">Datos de contacto:</p>
  {{ form.non_field_errors }}

  {{ form.nombre.errors }}
  <p class="forma">{{ form.nombre.label }}</p>
  <p class="caja">{{ form.nombre }}</p>

  {{ form.edad.errors }}
  <p class="forma">Edad:</p>
  <p class="caja">{{ form.edad }}</p>

  {{ form.telefono.errors }}
  <p class="forma">Teléfono:</p>
  <p class="caja">{{ form.telefono }}</p>

  {{ form.correo.errors }}
  <p class="forma">Correo electrónico:</p>
  <p class="caja">{{ form.correo }}</p>

  <button type="submit" class="caja3">Agendar mi cita</button>
</form>

1 个答案:

答案 0 :(得分:1)

在表单中将其设置为可选。目前,只需要省略blank parameter

  

如果为True,则允许该字段为空。默认值为False。

nombre = models.CharField(max_length=128, blank=True)