全国咨询/投诉热线:400-618-9090

首页技术文章正文

Django请求和响应设置图文教程

创建时间:2019-12-12 17:21:49.0 来源:黑马程序员

1、快速实现

①定义路由 urls.py

②定义视图函数 views.py

·······

③模型数据调用 创建表

④包含模板 加载模板(html····)
1.1、路由定义

1576142541193_Django的请求和响应01.jpg

1576142551623_Django的请求和响应02.jpg

1576142560506_Django的请求和响应03.jpg

1.2、编写视图

1576142587801_Django的请求和响应04.jpg

1576142603616_Django的请求和响应05.jpg


1.3、浏览器访问

1576142613435_Django的请求和响应06.jpg

到这里,就完成了一个页面请求。


2、请求

https://docs.djangoproject.com/zh-hans/2.1/ref/request-response/

客户端请求服务器端携带的信息

属性:

HttpRequest.scheme:请求的方式,即http或者是https

HttpRequest.body:请求的主体,返回的是一个字符串

HttpRequest.path:请求的路径,这里的路径是指相对路径,也就是说一个登陆后台页面的请求:http://127.0.0.1:8000/admin 的路径是 /admin 

HttpRequest.method:请求方式 POST/GET

HttpRequest.encoding:请求提交的数据的编码方式

HttpRequest.GET:获取get方式表单中或url提交的数据

HttpRequest.POST:获取post方式表单中或url提交的数据

HttpRequest.META:获取的是一个标准的python字典。它包含了所有的HTTP请求信息

方法:

HttpRequest.get_host():请求的地址

HttpRequest.get_port():请求的端口

HttpRequest.get_full_path():请求的完整路径,包括get参数

1576142624013_Django的请求和响应07.jpg

1576142635555_Django的请求和响应08.jpg

接收GET方式传值

1576142647055_Django的请求和响应09.jpg

1576142658559_Django的请求和响应10.jpg


3、服务器端返回给客户端的信息


属性:

HttpResponse.content:响应内容

HttpResponse.status_code:响应状态码

HttpResponse.content_type:响应类型(默认是:text/html )

1576142669281_Django的请求和响应11.jpg

1576142680860_Django的请求和响应12.jpg

4、GET请求传参和接收

Get请求是明文传输,信息附加在url上面。

在HttpRequest对象中,GET属性是django.http.QueryDict 的实例,它是一个自定义的类似字典的类,用来处理同一个键带有多个值。这个类的需求来自某些HTML 表单元素传递多个值给同一个键。

request.GET的QueryDict 在一个正常的请求/响应循环中是不可变的。

例:接收URL通过GET方式传输过来的参数,并打印到页面上

①接收到参数

②通过response返回参数

·定义路由

1576142739509_Django的请求和响应13.jpg


·定义视图函数

1576142754346_Django的请求和响应14.jpg

1576142806615_Django的请求和响应15.jpg


③进行参数组合返回给页面显示

1576142817068_Django的请求和响应16.jpg


5、POST请求传参和接收

POST相对于Get请求是安全的,所有信息附加在表单中。

在HttpRequest对象中,POST属性是django.http.QueryDict 的实例,它是一个自定义的类似字典的类,用来处理同一个键带有多个值。这个类的需求来自某些HTML 表单元素传递多个值给同一个键。

request.POST的QueryDict 在一个正常的请求/响应循环中是不可变的。

例:通过postman(接口调试工具)模拟发送POST请求,传输参数并把参数打印到页面

①postman发送数据

1576142833431_Django的请求和响应17.jpg

Tip:403 CSRF 禁止访问

解决方案一: 禁止关闭 CSRF 限制

1576142846304_Django的请求和响应18.jpg

②返回数据信息

1576142863207_Django的请求和响应19.jpg

1576142873753_Django的请求和响应20.jpg


6、QueryDict对象

QueryDict.get(key, default=None)

QueryDict.getlist(key, default=None)

1576142885984_Django的请求和响应21.jpg

QueryDict.items()

QueryDict.lists()

1576142902013_Django的请求和响应22.jpg


猜你喜欢:
Django函数视图和模板介绍
如何配置Django+HTTPS开发环境?
Django框架环境安装教程
Django框架中路由详细介绍
Django数据库连接的问题
django文件上传

在线咨询 我要报名