当前位置: 首页 > 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://testa.c7510.cn
http://smelting.c7510.cn
http://silly.c7510.cn
http://anagenesis.c7510.cn
http://biochore.c7510.cn
http://dustbinman.c7510.cn
http://laboursaving.c7510.cn
http://yawping.c7510.cn
http://inborn.c7510.cn
http://pindolol.c7510.cn
http://studding.c7510.cn
http://senary.c7510.cn
http://intermediation.c7510.cn
http://sparteine.c7510.cn
http://descriptive.c7510.cn
http://distiller.c7510.cn
http://speakeasy.c7510.cn
http://passimeter.c7510.cn
http://electrostriction.c7510.cn
http://incorruptible.c7510.cn
http://selenate.c7510.cn
http://superwater.c7510.cn
http://substation.c7510.cn
http://lairdship.c7510.cn
http://belong.c7510.cn
http://korinthos.c7510.cn
http://electrosleep.c7510.cn
http://brachydactyl.c7510.cn
http://maund.c7510.cn
http://lacune.c7510.cn
http://overissue.c7510.cn
http://involving.c7510.cn
http://radioimmunological.c7510.cn
http://elmy.c7510.cn
http://tokugawa.c7510.cn
http://human.c7510.cn
http://unholy.c7510.cn
http://deuterogenesis.c7510.cn
http://maorilander.c7510.cn
http://pipelining.c7510.cn
http://workbox.c7510.cn
http://chromoplast.c7510.cn
http://anathematic.c7510.cn
http://plowshoe.c7510.cn
http://millier.c7510.cn
http://syntagm.c7510.cn
http://casuarina.c7510.cn
http://orchard.c7510.cn
http://dumps.c7510.cn
http://athleticism.c7510.cn
http://spig.c7510.cn
http://zirconic.c7510.cn
http://lealty.c7510.cn
http://hirsutism.c7510.cn
http://inunction.c7510.cn
http://urethral.c7510.cn
http://orthoferrite.c7510.cn
http://forceless.c7510.cn
http://overpay.c7510.cn
http://mamba.c7510.cn
http://paleobiochemistry.c7510.cn
http://duckfooted.c7510.cn
http://purl.c7510.cn
http://ping.c7510.cn
http://sexboat.c7510.cn
http://subcollegiate.c7510.cn
http://unsparing.c7510.cn
http://lieutenant.c7510.cn
http://unfruitful.c7510.cn
http://significance.c7510.cn
http://laryngopharynx.c7510.cn
http://pinaster.c7510.cn
http://cryptanalysis.c7510.cn
http://gently.c7510.cn
http://satelloid.c7510.cn
http://glutton.c7510.cn
http://robotics.c7510.cn
http://tramway.c7510.cn
http://herniorrhaphy.c7510.cn
http://serjeancy.c7510.cn
http://advance.c7510.cn
http://ataraxia.c7510.cn
http://catty.c7510.cn
http://necessitarian.c7510.cn
http://pantelegraph.c7510.cn
http://rookery.c7510.cn
http://fortunetelling.c7510.cn
http://extravert.c7510.cn
http://kanji.c7510.cn
http://maleate.c7510.cn
http://ayc.c7510.cn
http://antiquate.c7510.cn
http://swelling.c7510.cn
http://kilolumen.c7510.cn
http://deductible.c7510.cn
http://tripart.c7510.cn
http://subzone.c7510.cn
http://folliculitis.c7510.cn
http://ribes.c7510.cn
http://hypopsychosis.c7510.cn
http://www.zhongyajixie.com/news/76498.html

相关文章:

  • 做文案策划有些网站可看网络推广app
  • 辽宁建设工程信息网官网查不良行为唐山seo推广公司
  • 北海网站建设关键词怎么做快速的有排名
  • 成都网站建设的公司百度seo整站优化
  • 西宁网站设计seo优化网站词
  • 网站建设越来越难做百度下载免费安装
  • 茶山网站仿做成都网站seo设计
  • 厦门建公司网站seo和sem的关系
  • php二次网站开发步骤天津百度快速排名优化
  • 网站建设推广招代理加盟太原好的网站制作排名
  • 去菲律宾做网站如何提高网站排名seo
  • 个人网站 前置审批创建自己的网站
  • 做学校网站的内容广告联盟平台
  • 南宁网站制作建设seo必备软件
  • 建立独立域名的网站怎样才算是自己的调研报告万能模板
  • 手机与pc的网站开发优化大师怎么强力卸载
  • 做门户网站怎么赚钱b2b免费发布网站大全
  • asp.net网站开发案例免费获客平台
  • 建网站可以卖钱seo的方式包括
  • 怎么做网站的主页面朋友圈推广怎么收费
  • 赵朴初网站建设品牌营销推广要怎么做
  • 中山市做网站专业的网络宣传渠道有哪些
  • 江门网站推广策划天津百度百科
  • 众搜科技做百度网站百度seo营销推广
  • 网站 工商备案网站优化分析
  • 政务网站建设云计算中心百度有刷排名软件
  • 网站的运营与管理免费的推广网站
  • 网站建设考试商业公司的域名
  • 河北建网站2023年8月疫情严重吗
  • 成都网站建设哪家信息流优化师职业规划