繁体   English   中英

我收到 django 表单的验证错误

[英]I'm getting a validation error with django form

我正面临验证表单问题。

我有这个 model:

class Documenti(models.Model):

    descr = models.CharField('descrizione ', max_length=200)

    data = models.DateField('data', blank=True)
    objects = models.Manager()

    class Meta:
        verbose_name = 'Documenti'

这是表格:

class DocForm(ModelForm):
    def __init__(self, *args, **kwargs):
        super(DocForm, self).__init__(*args, **kwargs)

    class Meta:
        model = Documenti
        exclude = ['id']
        widgets = {
            'data': forms.DateInput(format=FORMATO_INPUT_DATE, attrs={'type': 'date', 'class': 'stdh-data'}),
            'descr': forms.TextInput(attrs={SIZE: '80'}),
        }

这是编辑 function:

def edit_doc(request, doc_id=None):
    """

    :param request:
    :param doc_id:
    """
    if not (doc_id is None):
        doc_that = get_object_or_404(Documenti.objects.all(), pk=doc_id)
        titolo = ED_DOCUMENTO
    else:
        doc_that = Documenti()
        titolo = INS_DOCUMENTO

    form = DocForm(request.POST or None, instance=doc_that)

    redirect_to = Documenti().get_absolute_url() + current_page(request)
    if form.is_valid():  # All validation rules pass

        doc = form.save(commit=False)
        doc.save()
        return HttpResponseRedirect(redirect_to)  # Redirect after POST
    else:
        print(form)

    from documenti.urls import url_views_lista_doc
    url_after_close = full_url(request, 'doc:%s' % url_views_lista_doc)
    dizio = {FORM: form, TitleScheda: titolo, TAG_url_after_close: url_after_close, }
    return generic_render(request, HTML_generic_edit, dizio)

当我检查 form.is_valid() 时,我总是得到 FALSE。

我试图用 {{ form.non_field_errors }} {{ form.field_errors }} 获取错误列表,但它们似乎无效。

不知道。 提前谢谢了

我解决了!

我的行动表中有一个点。 例如 form name='x' method='POST' action='.'

我去掉了那个凶点 (action='') 和 TADA!!! 有用

不要问我为什么!

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM