zoukankan      html  css  js  c++  java
  • Django表单

    Httprequest对象的方法和属性:属性/方法

    | 属性/方法 | 说明 | 示例 |

    | :--- | :--- | :--- |

    | request.path | 完整的路径,不含域名,但是包含前导斜线| “/hello/”|

    | request.get_host() | 主机名(即通常所说的“域名”) |“127.0.0.1:8000”或“www.exam-ple.com” |

    | request.get_full_path() | 包含查询字符串(如果有的话)的路径|“/hello/?print=true”|

    | request.is_secure() |通过 HTTPS 访问时为 True ,否则为 False| True 或 False |

    • request.META 的值是一个 Python 字典,包含请求的所有 HTTP 首部,

    1.HTTP_REFERER :入站前的 URL(可能没有)。

    2.HTTP_USER_AGENT :浏览器的用户代理(可能没有)。

    3.REMOTE_ADDR :客户端的 IP 地址,

    注意,因为 request.META 是个普通的 Python 字典,所以尝试访问不存在的键时,抛出 KeyError 异常。

    (HTTP 首部是外部数据,即由用户的浏览器提交,因此不能完全相信,当某个首部为空或不存在时,应该让应用程序优雅失败。)为了处理未定义的键,应该使用 try / except 子句,或者 get() 方法:

    • HttpRequest 对象还有两个属性包含用户提交的信息: request.GET 和 request.POST 。这两个属性的值都是类似字典的对象,分别用于获取 GET 和 POST 数据。 POST 数据一般由 HTML表单提交,而 GET 数据既可以来自表单,也可以来自页面 URL 中的查询字符串。

    • action="" 的意思是,“把表单提交到与当前页面相同的 URL”。

    新建form.py,创建表单类:

    
    from django import forms
    
    class ContactForm(forms.Form):
    
    subject = forms.CharField()
    
    email = forms.EmailField(required=False)
    
    message = forms.CharField()
    
    

    定义的form类:

    1.能够转化成html文档

    2.能够进行验证

    3.is_valid()判断数据是否有效

    4.cleaned_data 属性,它的值是一个字典,存储着“清理后的”提交数据。Django 的表单框架不仅验证数据,还会清理数据,把值转换成合适的 Python 类型:

    改变字段的渲染方式: widget 参数

    设定长度:max_lengthmin_length

    设定初始值:在form类中: initial 参数

    自定义验证规则:Django 的表单系统会自动查找名称以 clean_ 开头、以字段名结尾的方法。如果存在这样的方法,在验证过程中调用。可以在表单类中自定义方法。

    指定标注:指定label参数

    自定义表单外观:在模板中,每个字段使用的控件( <input type="text"> 、 <select> 、 <textarea> ,等等)可以使用 {{form.fieldname }} 单独渲染,而各个字段上的错误可以通过 {{ form.fieldname.errors }} 获取。

    秋来凉风起,无限思远人
  • 相关阅读:
    第二次会议
    第五次团队会议
    作业六:团队项目——编写项目的Spec
    DFD数据流程图
    第四次会议
    精通 VC++ 实效编程280例 03 控制栏
    1.窗体与界面设计工具栏设计
    HTML5开发 Local Storage 本地存储
    1.窗体与界面设计菜单应用实例
    精通 VC++ 实效编程280例 02 菜单和光标
  • 原文地址:https://www.cnblogs.com/lalavender/p/10744896.html
Copyright © 2011-2022 走看看