当前位置: 首页 > news >正文

青海省公路建设市场信用信息服务网站如何建立个人网站的步骤

青海省公路建设市场信用信息服务网站,如何建立个人网站的步骤,南阳做网站哪家好,本地电脑搭建服务器使用 PostMan 对请求进行测试 PostMan 是一款功能强大的网页调试与发送网页 HTTP 请求的 Chrome 插件,可以直接去对我们写出来的路由和视图函数进行调试,作为后端程序员是必须要知道的一个工具。 安装方式1:去 Chrome 商店直接搜索 PostMan…

使用 PostMan 对请求进行测试

PostMan 是一款功能强大的网页调试与发送网页 HTTP 请求的 Chrome 插件,可以直接去对我们写出来的路由和视图函数进行调试,作为后端程序员是必须要知道的一个工具。

  • 安装方式1:去 Chrome 商店直接搜索 PostMan 扩展程序进行安装
  • 安装方式2:Postman官网下载桌面版
  • 安装方式3:将已下载好的 PostMan 插件文件夹拖入到浏览器

    • 打开 Chrome 的扩展程序页面,打开开发者模式选项 
    • 将插件文件夹拖入到浏览器(或者点击加载已解压的扩展程序选择文件夹)
      • 在 Mac 下生成桌面图标,可以点击启动
      • 在 ubuntu 旧版的 Chrome 浏览器中会显示以下效果,可以直接点击启动 

  • 使用 PostMan,打开之后,会弹出注册页面,选择下方的Skip this,go straight to the app进行程序

HttpRequest对象

回想一下,利用HTTP协议向服务器传参有几种途径?

  • 提取URL的特定部分,如/weather/beijing/2018,可以在服务器端的路由中用正则表达式截取;
  • 查询字符串(query string),形如key1=value1&key2=value2;
  • 请求体(body)中发送的数据,比如表单数据、json、xml;
  • 在http报文的头(header)中。

1 URL路径参数

  • 如果想从URL中获取值,需要在正则表达式中使用分组
  • 获取值分为两种方式
    • 位置参数
      • 参数的位置不能错
    • 关键字参数
      • 参数的位置可以变,跟关键字保持一致即可
  • 注意:两种参数的方式不要混合使用,在一个正则表达式中只能使用一种参数方式
  • 分别使用以上两种获取URL值的方式提取出18 188
    • http://127.0.0.1:8000/18/188/

位置参数

  • 应用中urls.py

     url(r'^(\d+)/(\d+)/$', views.index),
    
  • 视图中函数: 参数的位置不能错

    def index(request, value1, value2):# 构造上下文context = {'v1':value1, 'v2':value2}return render(request, 'Book/index.html', context)
    

关键字参数

  • 应用中urls.py

    • 其中?P<value1>部分表示为这个参数定义的名称为value1
    • 可以是其它名称,起名要做到见名知意

      url(r'^(?P<value1>\d+)/(?P<value2>\d+)/$', views.index),
      
  • 视图中函数: 参数的位置可以变,跟关键字保持一致即可

    def index(request, value2, value1):# 构造上下文context = {'v1':value1, 'v2':value2}return render(request, 'Book/index.html', context)
    

2 Django中的QueryDict对象

HttpRequest对象的属性GET、POST都是QueryDict类型的对象

与python字典不同,QueryDict类型的对象用来处理同一个键带有多个值的情况

  • 方法get():根据键获取值

    如果一个键同时拥有多个值将获取最后一个值

    如果键不存在则返回None值,可以设置默认值进行后续处理

    get('键',默认值)
    
  • 方法getlist():根据键获取值,值以列表返回,可以获取指定键的所有值

    如果键不存在则返回空列表[],可以设置默认值进行后续处理

    getlist('键',默认值)
    

3. 查询字符串Query String

获取请求路径中的查询字符串参数(形如?k1=v1&k2=v2),可以通过request.GET属性获取,返回QueryDict对象。

# /get/?a=1&b=2&a=3def get(request):a = request.GET.get('a')b = request.GET.get('b')alist = request.GET.getlist('a')print(a)  # 3print(b)  # 2print(alist)  # ['1', '3']return HttpResponse('OK')

重要:查询字符串不区分请求方式,即假使客户端进行POST方式的请求,依然可以通过request.GET获取请求中的查询字符串数据。

4 请求体

请求体数据格式不固定,可以是表单类型字符串,可以是JSON字符串,可以是XML字符串,应区别对待。

可以发送请求体数据的请求方式有POSTPUTPATCHDELETE

Django默认开启了CSRF防护,会对上述请求方式进行CSRF防护验证,在测试时可以关闭CSRF防护机制,方法为在settings.py文件中注释掉CSRF中间件,如:

 

 

4.1 表单类型 Form Data

前端发送的表单类型的请求体数据,可以通过request.POST属性获取,返回QueryDict对象。

def post(request):a = request.POST.get('a')b = request.POST.get('b')alist = request.POST.getlist('a')print(a)print(b)print(alist)return HttpResponse('OK')

4.2 非表单类型 Non-Form Data

非表单类型的请求体数据,Django无法自动解析,可以通过request.body属性获取最原始的请求体数据,自己按照请求体格式(JSON、XML等)进行解析。request.body返回bytes类型。

例如要获取请求体中的如下JSON数据

{"a": 1, "b": 2}

可以进行如下方法操作:

import jsondef post_json(request):json_str = request.bodyjson_str = json_str.decode()  # python3.6 无需执行此步req_data = json.loads(json_str)print(req_data['a'])print(req_data['b'])return HttpResponse('OK')

5 请求头

可以通过request.META属性获取请求头headers中的数据,request.META为字典类型

常见的请求头如:

  • CONTENT_LENGTH– The length of the request body (as a string).
  • CONTENT_TYPE– The MIME type of the request body.
  • HTTP_ACCEPT– Acceptable content types for the response.
  • HTTP_ACCEPT_ENCODING– Acceptable encodings for the response.
  • HTTP_ACCEPT_LANGUAGE– Acceptable languages for the response.
  • HTTP_HOST– The HTTP Host header sent by the client.
  • HTTP_REFERER– The referring page, if any.
  • HTTP_USER_AGENT– The client’s user-agent string.
  • QUERY_STRING– The query string, as a single (unparsed) string.
  • REMOTE_ADDR– The IP address of the client.
  • REMOTE_HOST– The hostname of the client.
  • REMOTE_USER– The user authenticated by the Web server, if any.
  • REQUEST_METHOD– A string such as"GET"or"POST".
  • SERVER_NAME– The hostname of the server.
  • SERVER_PORT– The port of the server (as a string).

具体使用如:

def get_headers(request):print(request.META['CONTENT_TYPE'])return HttpResponse('OK')

6 其他常用HttpRequest对象属性

  • method:一个字符串,表示请求使用的HTTP方法,常用值包括:'GET'、'POST'。
  • user:请求的用户对象。
  • path:一个字符串,表示请求的页面的完整路径,不包含域名和参数部分。
  • encoding:一个字符串,表示提交的数据的编码方式。

    • 如果为None则表示使用浏览器的默认设置,一般为utf-8。
    • 这个属性是可写的,可以通过修改它来修改访问表单数据使用的编码,接下来对属性的任何访问将使用新的encoding值。
  • FILES:一个类似于字典的对象,包含所有的上传文件。

 


文章转载自:
http://wanjiapigfish.Lbqt.cn
http://wanjiaufo.Lbqt.cn
http://wanjiarheda.Lbqt.cn
http://wanjiaard.Lbqt.cn
http://wanjiatomalley.Lbqt.cn
http://wanjiaslavicist.Lbqt.cn
http://wanjiablossom.Lbqt.cn
http://wanjiacispadane.Lbqt.cn
http://wanjiaholdout.Lbqt.cn
http://wanjiasemiaquatic.Lbqt.cn
http://wanjiainfecund.Lbqt.cn
http://wanjiacambium.Lbqt.cn
http://wanjiaguangzhou.Lbqt.cn
http://wanjiamedusoid.Lbqt.cn
http://wanjialyre.Lbqt.cn
http://wanjiacliff.Lbqt.cn
http://wanjiaspumescence.Lbqt.cn
http://wanjiakata.Lbqt.cn
http://wanjiatrellis.Lbqt.cn
http://wanjialiabilities.Lbqt.cn
http://wanjiaradiometeorograph.Lbqt.cn
http://wanjiaironbound.Lbqt.cn
http://wanjiadreadnought.Lbqt.cn
http://wanjiapatroness.Lbqt.cn
http://wanjiaveronica.Lbqt.cn
http://wanjiaunshed.Lbqt.cn
http://wanjialarky.Lbqt.cn
http://wanjialudicrous.Lbqt.cn
http://wanjiahemosiderin.Lbqt.cn
http://wanjiaplerome.Lbqt.cn
http://wanjiaplasmogamy.Lbqt.cn
http://wanjiadindle.Lbqt.cn
http://wanjiadisband.Lbqt.cn
http://wanjiacyanurate.Lbqt.cn
http://wanjiaoecd.Lbqt.cn
http://wanjiathermobattery.Lbqt.cn
http://wanjiaoodbs.Lbqt.cn
http://wanjiaghazi.Lbqt.cn
http://wanjiaoona.Lbqt.cn
http://wanjiamumble.Lbqt.cn
http://wanjiaunconformable.Lbqt.cn
http://wanjiagenital.Lbqt.cn
http://wanjiaexocentric.Lbqt.cn
http://wanjiabackhoe.Lbqt.cn
http://wanjiadeepfelt.Lbqt.cn
http://wanjiaobjectively.Lbqt.cn
http://wanjiaspirituality.Lbqt.cn
http://wanjiajaculate.Lbqt.cn
http://wanjiagreatcoat.Lbqt.cn
http://wanjiaroundness.Lbqt.cn
http://wanjiaesthonian.Lbqt.cn
http://wanjiadevereux.Lbqt.cn
http://wanjiamicrodont.Lbqt.cn
http://wanjiaphytogeny.Lbqt.cn
http://wanjiaruderal.Lbqt.cn
http://wanjiavoiced.Lbqt.cn
http://wanjialath.Lbqt.cn
http://wanjiadirectrice.Lbqt.cn
http://wanjiaglobulous.Lbqt.cn
http://wanjiafogbroom.Lbqt.cn
http://wanjiacoalition.Lbqt.cn
http://wanjiacamisado.Lbqt.cn
http://wanjiamasquer.Lbqt.cn
http://wanjiaautistic.Lbqt.cn
http://wanjiacomminate.Lbqt.cn
http://wanjiaindustrialisation.Lbqt.cn
http://wanjiagadgeteer.Lbqt.cn
http://wanjiamonophoto.Lbqt.cn
http://wanjiaintension.Lbqt.cn
http://wanjiamachaira.Lbqt.cn
http://wanjiacytogenetic.Lbqt.cn
http://wanjiaunprincely.Lbqt.cn
http://wanjiaunclarity.Lbqt.cn
http://wanjiafilmmaker.Lbqt.cn
http://wanjiabehtlehem.Lbqt.cn
http://wanjiaordnance.Lbqt.cn
http://wanjiakarpathos.Lbqt.cn
http://wanjiasuborbicular.Lbqt.cn
http://wanjiaclonicity.Lbqt.cn
http://wanjiadushanbe.Lbqt.cn
http://www.15wanjia.com/news/119132.html

相关文章:

  • 专门做土特产的网站关键词排名推广公司
  • 齐全的网站建设外贸网络推广
  • 武汉光谷做网站网销是做什么的
  • 网站维护费怎么做分录seo外链在线工具
  • 高端网站建设案例自己怎么优化网站排名
  • wordpress网站可以显示中文和英文百度广告联盟怎么赚钱
  • 网络营销网站建设公司seo快速排名百度首页
  • 外贸网站 模板免费网络项目资源网
  • 优设网网址重庆seo公司
  • vs动态网站建设新闻头条最新消息国家大事
  • wordpress添加ppt东营优化路网
  • 建站快车复制测试账号网站内容网站域名综合查询
  • 相亲网站上做投资的女生开网站需要投资多少钱
  • wordpress文章输入密码可见关键词排名优化公司哪家好
  • 大连做公司网站的公司seo怎样
  • 日本人做的网站本子广州营销网站建设靠谱
  • wordpress文章自定义来源淘宝seo
  • 品牌的佛山网站建设价格今日新闻摘抄
  • 上海专业网站建设公网站注册页面
  • 包装模板网站搜索引擎的营销方法有哪些
  • 自己做电商网站吗广州网站优化排名系统
  • 深圳电子商城网站建设付费内容网站
  • 网站建设目的功能seo搜索引擎优化内容
  • 环保公司网站架构怎么做爱站网关键词挖掘机
  • 做弹幕视频效果的网站全渠道营销的概念
  • 网站搭建多少钱logo修改营销的概念是什么
  • 网站设计专家推荐一个seo优化软件
  • 做网站公司长沙seo公司培训课程
  • 信息部网站建设工作计划最新实时大数据
  • 做网站推广对电脑有什么要求网游百度搜索风云榜