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

微网站后台录入在线做的网站

微网站后台录入,在线做的网站,菏泽哪里有做网站的,网站高端设计公司一、请求与响应 视图函数 视图函数#xff0c;简称视图#xff0c;属于Django的视图层#xff0c;默认定义在views.py文件中#xff0c;是用来处理web请求信息以及返回响应信息的函数#xff0c;所以研究视图函数只需熟练掌握两个对象即可#xff1a;请求对象(HttpRequ…一、请求与响应 视图函数 视图函数简称视图属于Django的视图层默认定义在views.py文件中是用来处理web请求信息以及返回响应信息的函数所以研究视图函数只需熟练掌握两个对象即可请求对象(HttpRequest)和响应对象(HttpResponse) 1、请求对象 当一个页面被请求时django会创建一个包含本次请求原信息如http协议请求报文中的请求行、首部信息、内容主体的HttpRequest对象。 之后django会找到匹配的视图将该对象传给视图函数的第一个参数约定俗称该参数名为request类似于我们自定义框架的environ参数。 在视图函数中通过访问该对象的属性便可以提取http协议的请求数据 2、HttpRequest对象属性part1 一.HttpRequest.method获取请求使用的方法值为纯大写的字符串格式。例如GET、POST应该通过该属性的值来判断请求方法在视图函数中if request.method. GET:...if request.method POST:...二.HttpRequest.GET值为一个类似于字典的QueryDict对象封装了GET请求的所有参数可通过HttpRequest.GET.get(键)获取相对应的值在视图函数中request.GET.get(name)三.HttpRequest.POST值为一个类似于字典的QueryDict对象封装了POST请求所包含的表单数据可通过HttpRequest.POST.get(键)获取相对应的值在视图函数中request.POST.get(name)针对表单中checkbox类型的input标签、select标签提交的数据键对应的值为多个需要用HttpRequest.POST.getlist(hobbies)获取存有多个值的列表,同理也有HttpRequest.GET.getlist(键)针对有多个值的的情况也可以用HttpRequest.GET.get(键)默认会获取列表中的最后一个值 案例 urls.py from django.urls import re_path from app01 import viewsurlpatterns [re_path(r^login/$,views.login), ] Views.py from django.shortcuts import render,HttpResponsedef login(request):if request.method GET:# 当请求url为http://127.0.0.1:8001/login/?a1b2c3c4c5# 请求方法是GET?后的请求参数都存放于request.GET中print(request.GET)# 输出QueryDict: {a: [1], b: [2], c: [3, 4, 5]}# 获取后参数的方式为arequest.GET.get(a) # 1brequest.GET.get(b) # 2crequest.GET.getlist(c) # [3, 4, 5]c1request.GET.get(c) # 5return render(request,login.html)elif request.method POST:# 在输入框内输入用户名egon、年龄18选择爱好点击提交# 请求方法为POST表单内的数据都会存放于request.POST中print(request.POST) # 输出QueryDict: {..., name: [egon], age: [18], hobbies: [music, read]}# 获取表单中数据的方式为namerequest.POST.get(name) # egonagerequest.POST.get(age) # 18hobbiesrequest.POST.getlist(hobbies) # [music, read]return HttpResponse(提交成功) 在templates目录下新建login.html !DOCTYPE html html langen headmeta charsetUTF-8title登录页面/title /head body!-- methodpost代表在提交表单时会以POST方法提交表单数据 action/login/ 代表表单数据的提交地址为http://127.0.0.1:8001/login/,可以简写为action/login/,或者action -- form actionhttp://127.0.0.1:8001/login/ methodpost{% csrf_token %} !--强调必须加上这一行后续我们会详细介绍--p用户名input typetext namename/pp年龄input typetext nameage/pp爱好input typecheckbox namehobbies valuemusic音乐input typecheckbox namehobbies valueread阅读input typecheckbox namehobbies valuedancing跳舞/ppinput typesubmit value提交/p/form /body /html 3、HttpRequest对象属性part2 一.HttpRequest.path获取url地址的路径部分只包含路径部分二.HttpRequest.get_full_path()获取url地址的完整path既包含路径又包含参数部分如果请求地址是http://127.0.0.1:8001/order/?nameegonage10#_label3 HttpRequest.path的值为/order/ HttpRequest.get_full_path()的值为/order/?nameegonage10 案例 urls.py from django.urls import path,register_converter,re_path from app01 import viewsurlpatterns [re_path(r^order,views.order), ] views.py from django.shortcuts import render,HttpResponse# 针对请求的url地址http://127.0.0.1:8001/order/?nameegonage10#_label3 # 从域名后的最后一个“/”开始到“”为止是路径部分即/order/ # 从“”开始到“#”为止之间的部分为参数部分,即nameegonage10 def order(request):print(request.path) # 结果为“/order/”print(request.get_full_path()) # 结果为/order/?nameegonage10return HttpResponse(order page) 4、HttpRequest对象属性part3 一.HttpRequest.META.get(...)值为包含了HTTP协议的请求头数据的Python字典字典中的key及期对应值的解释如下CONTENT_LENGTH —— 请求的正文的长度是一个字符串。CONTENT_TYPE —— 请求的正文的MIME类型。HTTP_ACCEPT —— 响应可接收的Content-Type。HTTP_ACCEPT_ENCODING —— 响应可接收的编码。HTTP_ACCEPT_LANGUAGE —— 响应可接收的语言。HTTP_HOST —— 客服端发送数据的目标主机与端口HTTP_REFERER —— Referring 页面。HTTP_USER_AGENT —— 客户端使用的软件版本信息QUERY_STRING —— 单个字符串形式的查询字符串未解析过的形式。REMOTE_ADDR —— 客户端的IP地址。REMOTE_HOST —— 客户端的主机名。REMOTE_USER —— 服务器认证后的用户。REQUEST_METHOD —— 一个字符串例如GET 或POST。SERVER_NAME —— 服务器的主机名。SERVER_PORT —— 服务器的端口是一个字符串。从上面可以看到除 CONTENT_LENGTH 和 CONTENT_TYPE 之外HTTP协议的请求头数据转换为 META 的键时都会1、将所有字母大写2、将单词的连接符替换为下划线3、加上前缀HTTP_。所以一个叫做 X-Bender 的头部将转换成 META 中的 HTTP_X_BENDER 键。二、HttpRequest.encoding一个字符串表示提交的数据的编码方式如果为 None 则表示使用 DEFAULT_CHARSET 的设置默认为 utf-8。这个属性是可写的你可以修改它来修改访问表单数据使用的编码。接下来对属性的任何访问例如从 GET 或 POST 中读取数据将使用新的 encoding 值。如果你知道表单数据的编码不是 DEFAULT_CHARSET 则使用它。三、HttpRequest.scheme表示请求方案的字符串通常为http或https四、其他 HttpRequest还有很多其他重要属性比如HttpRequest.body待我们讲到专门的知识点时再专门详细讲解 5、响应对象 请求对象HttpRequest是由django为我们创建好的直接使用即可而响应对象则需要我们负责创建。我们编写的每个视图都应该返回一个HttpResponse对象响应可以是一个网页的HTML内容一个重定向一个404错误一个XML文档或者一张图片。用来返回响应对象的常用类如下 from django.shortcuts import HttpResponse from django.shortcuts import redirect from django.shortcuts import renderfrom django.http importJsonResponse 6、HttpResponse  from django.http import HttpResponse response HttpResponse(Heres the text of the Web page.) response HttpResponse(Text only, please., content_typetext/plain) psContent-Type用于指定响应体的MIME类型MIME类型 mime类型是多用途互联网邮件扩展类型。是设定某种扩展名的文件用一种应用程序来打开的方式类型,当该扩展名文件被访问的时候,浏览器会自动使用指定应用程序来打开MIME 类型有非常多种一般常见的有text/html浏览器在获取到这种文件时会自动调用html的解析器对文件进行相应的处理。text/plain意思是将文件设置为纯文本的形式浏览器在获取到这种文件时并不会对其进行处理。image/jpegJPEG格式的图片image/gifGIF格式的图片video/quicktimeApple 的 QuickTime 电影application/vnd.ms-powerpoint微软的powerpoint文件7、render def render(request, template_name, contextNone, content_typeNone, statusNone, usingNone):Return a HttpResponse whose content is filled with the result of callingdjango.template.loader.render_to_string() with the passed arguments.content loader.render_to_string(template_name, context, request, usingusing)return HttpResponse(content, content_type, status)参数1、request用于生成响应的请求对象固定必须传入的第一个参数2、template_name要使用的模板的完整名称必须传入render默认会去templates目录下查找模板文件3、context可选参数可以传入一个字典用来替换模块文件中的变量默认是一个空字典。如果字典中的某个值是可调用的视图将在渲染模板之前调用它。4、content_type生成的文档要使用的MIME类型。默认为 DEFAULT_CONTENT_TYPE 设置的值。默认为text/html5、status响应的状态码。默认为200。6、using: 用于加载模板的模板引擎的名称。 8、redirect   返回重定向对象返回的状态码为302第一个参数用来指定浏览器重定向的地址可以是 #1、一个完全标准的URL地址如https://www.yahoo.com/search/ #2、也可以是一个没有域名的绝对路径如/search/ #3、或者是一个没有域名的相对路径如search/,与1、2直接跳转到指定的绝对路径不同相对路径需要先与当前路径进行拼后才能跳转例如如果当前路径为http://127.0.0.1:8080/index/拼接后的路径为http://127.0.0.1:8080/index/search/# psredirect重定向等同于下述操作 def index(request):responseHttpResponse()response.status_code302 # 必须设置响应的状态码才能重定向response[Location]/register/ # 设置响应头return response 9、JsonResponse 向前端返回一个json格式字符串的两种方 方式一 import jsondef my_view(request):data[egon,kevin]return HttpResponse(json.dumps(data) ) 方式二 from django.http import JsonResponsedef my_view(request):data[egon,kevin]return JsonResponse(data,safeFalse)#默认safeTrue代表只能序列化字典对象safeFalse代表可以序列化字典以外的对象
http://www.w-s-a.com/news/843979/

相关文章:

  • 山西建设厅网站查不了seo搜索引擎优化包邮
  • 临沂网站建设价格太原网站优化公司
  • 网页设计基础课程设计搜索引擎优化英文
  • 网站备案号怎么查楼书设计素材网站
  • 网站设计机构有哪些中国建设银行网站登录不上
  • 烟台理工学校网站罗湖建设网站
  • 卑鄙的网站开发公司郑州人才网站
  • 成都专业的网站设计公司文化建设的成就
  • 做书籍封皮的网站如何建网站教程视频
  • 唐山建站公司模板ipfs做网站
  • 贵阳做网站品牌网站模板
  • 紫网站建设我的个人博客
  • 优秀网站菜单网页上的视频怎么下载
  • 龙口建网站公司价格国内的平面设计网站
  • 电子商务网站建设与管理读后感上海市基础工程公司
  • 织梦免费企业网站做网站时,404网页如何指向
  • 摄影工作室网站源码百度为什么会k网站
  • 哪个网站有淘宝做图的素材网站分享做描点链接
  • 做哪个网站零售最好网站空间在哪里
  • 荆州网站建设多少钱南阳做网站推广
  • 网站代理打开个人网站设计源码
  • 做php网站的话要学什么语言wordpress搜索不到
  • 金华官方网站建设网络营销策划模板
  • 网站开发到上线在线生成小程序
  • 动易网站设计方案郑州营销网站建设
  • 怎么上网站做简易注销的步骤郑州大学现代远程教育《网页设计与网站建设》课程考核要求
  • 新乡网站建设新乡长沙本地论坛有哪些
  • 潍坊中企动力做的网站怎么样wordpress接入微博
  • 网站开发者所有权归属网站项目建设的必要性
  • 菜鸟网站编程广州网站设计权威乐云践新