django的form组件的插件相关参数和保留内容

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了django的form组件的插件相关参数和保留内容相关的知识,希望对你有一定的参考价值。

上节的常用字段,和参数,这节看看这些参数的具体使用

    <form method="POST" enctype="multipart/form-data">
        {% csrf_token %}

            {{ form.xxoo.label }}
            {{ form.xxoo.id_for_label }}
            {{ form.xxoo.label_tag }}
            {{ form.xxoo.errors }}
            <p>{{ form.user }} {{ form.user.errors }}</p>
            <input type="submit" />
    </form>

eg:这里可以在Get的时候,把form表单实例化后,在html里面来使用,obj=LoginForm(),然后上面的{{ obj.xxoo.label }}里面的xxoo代表的是form里面的字段,如上节的username,
如果按照上面的一个一个的写,去生成html标签,很麻烦,,下面可以通过as_p来生成
技术分享图片
通过这个,会自动把后台的各种参数自动生成一个html标签,默认是input,修改可以通过widget,需要通过forms导入widgets
技术分享图片

保留上次的内容,

其实上面的这些生成html标签,是这个保留上次内容的一部分功能。

第一种方法通过form表达的方式

在用户get的时候,就把用户的form表单实例化,并且传到前端

def testform(request):
    if request.method == "GET":
        obj = TestForm()
        return render(request,‘testform.html‘,{‘obj‘:obj})

当post提交后,再次通过obj验证的时候,form表达式有数据的,再次返回前端的时候obj里面是有数据的了

   else:
        obj = TestForm(request.POST)
        if obj.is_valid():
            print(obj.cleaned_data)
        else:
            print(obj.errors)
            return render(request,‘testform.html‘,{‘obj‘:obj})#此时这个obj里面是有上次提交的数据的

如果后台通过form表达的方式来获取的数据,前端应该这么写了

    <form action="/testform/" method="post">
        {% csrf_token %}
        <p> {{ obj.t1 }} {{ obj.errors.t1.0 }}</p>
        <p> {{ obj.t2 }} {{ obj.errors.t2.0 }}</p>

        <input type="submit" value="提交">
    </form>

技术分享图片
技术分享图片

功能

技术分享图片

以上是关于django的form组件的插件相关参数和保留内容的主要内容,如果未能解决你的问题,请参考以下文章

Django的form,model自定制

django form和ModelForm组件

Django Form组件

Django十三form组件。

form组件相关 -新 -转

Python之路71-Django form组件