05.Django表单的使用

简介: 一:细说Request      每一个views.py视图函数,返回时否会携带一个request的对象,该对象包含的信息有     当然在这个基础上,还包含其他的一些信息:     request.

一:细说Request

      每一个views.py视图函数,返回时否会携带一个request的对象,该对象包含的信息有


     当然在这个基础上,还包含其他的一些信息:

     request.MEAT是一个python字典,包含了本次http请求的header信息,以下几个是常用的

     HTTP_RFERER:链接网页

     HTTP_USER_AGENT:用户浏览的用户Agent信心

     REMOTE_IP:客户端IP

     获取的方法是:get("XXX")或者request.META["XXX"]


二:form中post和get的区别?

       

           1. get是从服务器上获取数据,post是向服务器传送数据。
           2. get是把参数数据队列加到提交表单的ACTION属性所指的URL中,值和表单内各个字段一一对应,在URL中可以看到。post是通过HTTP post机制,将表单内各个字段与其内容放置在HTML HEADER内一起传送到ACTION属性所指的URL地址。用户看不到这个过程。
          3. 对于get方式,服务器端用Request.QueryString获取变量的值,对于post方式,服务器端用Request.Form获取提交的数据。
          4. get传送的数据量较小,不能大于2KB。post传送的数据量较大,一般被默认为不受限制。但理论上,IIS4中最大量为80KB,IIS5中为100KB。
          5. get安全性非常低,post安全性较高。但是执行效率却比Post方法好。

         建议:
                  1、get方式的安全性较Post方式要差些,包含机密信息的话,建议用Post数据提交方式;
                  2、在做数据查询时,建议用Get方式;而在做数据添加、修改或删除时,建议用Post方式;


三:django中post的错误异常和解决办法

错误异常CSRF verification failed. Request aborted.
解决办法:在含有form表单 views.py中 
                from django.views.decorators.csrf import csrf_exempt
                @csrf_exempt
                def login():
                    .....

相关文章
|
2天前
|
测试技术 数据库 Python
使用django构建表单测试
【6月更文挑战第14天】该文档介绍了如何对本地库进行自动化测试,特别是关注于代码结构和模型测试。作者鼓励为其他模型和表单创建类似的测试,并提及测试应避免对底层框架的重复验证。
50 0
使用django构建表单测试
|
3天前
|
Python
Django表单
【6月更文挑战第13天】Django表单。
12 5
|
12天前
|
Python
Django表单
【6月更文挑战第3天】Django表单。
10 1
|
12天前
|
Python
Django表单
【6月更文挑战第3天】Django表单。
6 1
|
10月前
|
前端开发 中间件 数据安全/隐私保护
【Django】创建用户,中间件,表单组件
【Django】创建用户,中间件,表单组件
52 0
|
1月前
|
前端开发 开发者 Python
django表单
django表单
31 0
|
6月前
|
JSON 安全 数据库
在 Django 中呈现 HTML 表单(GET 和 POST)
在 Django 中呈现 HTML 表单(GET 和 POST)
47 0
|
6月前
|
Python
如何使用 Django Forms 创建表单?
如何使用 Django Forms 创建表单?
43 0
如何使用 Django Forms 创建表单?
|
11月前
|
Python
django 表单
django 表单
30 0
|
12月前
|
存储 前端开发 JavaScript
Django第4步_理解form表单类与处理html的post、get
Django第4步_理解form表单类与处理html的post、get
60 0