最新公告
  • 欢迎您光临起源地模板网,本站秉承服务宗旨 履行“站长”责任,销售只是起点 服务永无止境!立即加入钻石VIP
  • 一篇文章带你了解django_Form_表单

    正文概述    2020-06-27   269

    一篇文章带你了解django_Form_表单

    一、认识HTML表单

    在HTML中,表单的作用是收集标签中的内容,<form>...</form> 中间可以由访问者添加类似于文本,选择,或者一些控制模块等等.然后这些内容将会被送到服务端

    二、认识GET和POST

    表单使用POST 方法,在这个方法中浏览器组合表单数据、对它们进行编码以用于传输、将它们发送到服务器然后接收它的响应。相反,GET 组合提交的数据为一个字符串,然后使用它来生成一个URL。 这个URL 将包含数据发送的地址以及数据的键和值。

    用于改变系统状态的请求 —— 例如,给数据库带来变化的请求 —— 应该使用POST。 GET 只应该用于不会影响系统状态的请求。

    三、为什么使用Django的表单

    相比传统的表单提交我们为什么使用Django的,因为django会帮我们简化三个部分:

    准备数据、重构数据,以便下一步提交。

    为数据创建HTML 表单

    接收并处理客户端提交的表单和数据

    可以手工编写代码来实现,但是Django 可以帮你完成所有这些工作。

    四、django_Form表单的流程

    1.在view 视图层获取

    2.将它传递给模板的context

    3.使用模板变量将它扩展为HTML 标记

    五、基本使用django_form

    先引用djang的form类,编写一个类继承forms.Form如下

    from django import forms
    class NameForm(forms.Form):
        your_name = forms.CharField(
            label='有户名',
            max_length=100,
        )

    在对应的url函数处理我们写的form继承类

    如果True 为is_valid(),我们将能够在cleaned_data 属性中找到所有合法的表单数

    is_valid()

    这里面就要说明是is_valid()用来判断,数据是否符合输入条件

    cleaned_data

    如果上面的is_valid()返回的是True 符合条件,就会返回表单提交的元素,以字典的形式返回{'html的name属性':'用户填的值'}

    def index(request):
        if request.method == "POST":
            form = NameForm(request.POST)
            if form.is_valid():
                print(form.cleaned_data)
                return HttpResponse('ok')
        else:
            form = NameForm()
            return  render(request,'index.html',{'form':form})

    在Html 模板写法

    <form action="/index/" method="post">
        {% csrf_token %}
        {{ form }}
        <input type="submit" value="Submit" />
    </form>

    快速设置html table/ul 数据展示

    可以在html 后台返回的数据调用对应方法就是有对应格式展示

    {{ form.as_table }} 以表格的形式将它们渲染在<tr> 标签中

    {{ form.as_p }} 将它们渲染在<p> 标签中

    {{ form.as_ul }} 将它们渲染在<li> 标签中

    去掉浏览器的验证机制

    如果你的表单包含URLField``EmailField 或其它整数字段类型,Django 将使用number、url和 email 这样的HTML5 输入类型。 默认情况下,浏览器可能会对这些字段进行它们自身的验证,这些验证可能比Django 的验证更严格。 如果你想禁用这个行为,请设置form 标签的novalidate属性,或者指定一个不同的字段,如TextInput。


    起源地下载网 » 一篇文章带你了解django_Form_表单

    常见问题FAQ

    免费下载或者VIP会员专享资源能否直接商用?
    本站所有资源版权均属于原作者所有,这里所提供资源均只能用于参考学习用,请勿直接商用。若由于商用引起版权纠纷,一切责任均由使用者承担。更多说明请参考 VIP介绍。
    提示下载完但解压或打开不了?
    最常见的情况是下载不完整: 可对比下载完压缩包的与网盘上的容量,若小于网盘提示的容量则是这个原因。这是浏览器下载的bug,建议用百度网盘软件或迅雷下载。若排除这种情况,可在对应资源底部留言,或 联络我们.。
    找不到素材资源介绍文章里的示例图片?
    对于PPT,KEY,Mockups,APP,网页模版等类型的素材,文章内用于介绍的图片通常并不包含在对应可供下载素材包内。这些相关商业图片需另外购买,且本站不负责(也没有办法)找到出处。 同样地一些字体文件也是这种情况,但部分素材会在素材包内有一份字体下载链接清单。
    模板不会安装或需要功能定制以及二次开发?
    请QQ联系我们

    发表评论

    还没有评论,快来抢沙发吧!

    如需帝国cms功能定制以及二次开发请联系我们

    联系作者

    请选择支付方式

    ×
    迅虎支付宝
    迅虎微信
    支付宝当面付
    余额支付
    ×
    微信扫码支付 0 元