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

网站飘窗 两学一做动漫网站源码下载

网站飘窗 两学一做,动漫网站源码下载,贵阳做网站优化,一个人建设小型网站上篇文章我们学习了Django框架——配置文件和视图函数,这篇文章我们学习Django框架——请求与响应。 客户端和服务端的请求与响应过程:客户端访问某个网站并发出URL请求,服务器接受到请求后,根据请求内容来返回响应,如…

上篇文章我们学习了Django框架——配置文件和视图函数,这篇文章我们学习Django框架——请求与响应。

客户端和服务端的请求与响应过程:客户端访问某个网站并发出URL请求,服务器接受到请求后,根据请求内容来返回响应,如下图所示:

请求对象

在视图函数中,接收了request参数,通过该参数获取到URL路径,请求方式,请求参数,会话,上传文件信息等等,这里我们主要讲解获取请求参数,会话、文件信息会有单独的文章讲解,获取GET请求和POST请求参数一样,这里讲解获取GET请求参数,示例代码如下:

### views.py文件
from django.http import HttpResponse
def Get_Request(request):print(request.GET)      # 获取GET请求的参数return HttpResponse('OK')### urls.py文件
from Product.views import *
from django.urls import path
urlpatterns = [path('admin/', admin.site.urls),path('Get_Request/',Get_Request)
]

启动程序并访问http://127.0.0.1:5000/Get_Request/和http://127.0.0.1:5000/Get_Request?name=lisi,后端打印结果为:

<QueryDict: {}>
<QueryDict: {'name': ['lisi']}>

GET方法返回的是QueryDict类字典对象,获取QueryDict类字典对象里面数据的方法如下:

print(request.GET.get('name',default='张三'))  # 方法一
print(request.GET['name'])   # 方法二

在方法一中,当get获取的name不存在时,返回default设置的默认值(张三),这里我们建立使用方法一,因为在方法二中,当name不存在时,程序会报错。

访问http://127.0.0.1:5000/Get_Request?name=lisi&name=zhangsan,后端打印结果为:

<QueryDict: {'name': ['lisi', 'zhangsan']}>
zhangsan
zhangsan

当请求出现了两个name参数时,get只会返回最后一个name,当请求参数有几个相同的键时,可以通过getlist方法获取name的所有数据并返回为列表,示例代码如下:

print(request.GET.getlist('name')) 

后端打印结果为:

['lisi', 'zhangsan']

获取请求方式、URL路径、cookie、session、上传文件信息,示例代码如下:

print(request.method)       # 获取请求方式
print(request.path)     # url路径
print(request.get_full_path())      # url完整路径
print(request.COOKIES)      # COOKIES会话技术
print(request.session)      # session会话技术
print(request.FILES)        # 上传文件,前端上传的文件对象

访问http://127.0.0.1:5000/Get_Request/?name=lisi,后端打印结果如下:

GET
/Get_Request/
/Get_Request/?name=lisi
{'csrftoken': 'j86YmXNrJzEqAmtuBwfKV2KnoxlCX6JQ'}
<django.contrib.sessions.backends.db.SessionStore object at 0x00000243ACF3E260>
<MultiValueDict: {}>

响应对象

视图函数的响应主要有四种类型,分别为返回字符串(HttpResponse),返回模版(render),重定向(redirect或HttpResponseRedirect)和返回JSON(JsonResponse)。

HttpResponse

返回字符串主要使用HttpResponse方法,示例代码如下:

## views.py文件
from django.http import HttpResponse
def return_HttpResponse(request)return HttpResponse('return_HttpResponse')## urls.py文件
from django.contrib import admin
from django.urls import path
from Product.views import *urlpatterns = [path('admin/', admin.site.urls),path('return_HttpResponse/',return_HttpResponse),
]

访问http://127.0.0.1:5000/return_HttpResponse,浏览器显示return_HttpResponse。返回字符串简单了解一下就行,在开发中很少用到。

render

返回模版主要使用render方法,在使用render方法返回模版时,可以根据需求,将数据传递给模版,示例代码如下:

## views.py文件
from django.shortcuts import render
def return_render(request)content='你好'return render(request,'Hello World.html',{ 'content':content })## urls.py文件
from django.contrib import admin
from django.urls import path
from Product.views import *urlpatterns = [path('admin/', admin.site.urls),path('return_render/',return_render),
]

在Product文件夹创建templates文件夹并创建Hello World.html文件,该文件内容如下:

<!DOCTYPE html>
<html lang="en">
<head><meta charset="UTF-8"><title>Title</title>
</head>
<body><h1>{{ content }}</h1>
</body>
</html>

访问http://127.0.0.1:5000/return_render,浏览器显示你好。返回模版主要应用在前后端不分离的情况。

redirect或HttpResponseRedirect

重定向主要使用redirect或HttpResponseRedirect,两者没多大区别,示例代码如下:

## views.py文件
from django.shortcuts import redirect
def return_redirect(request)return redirect('/return_HttpResponse/')  # return HttpResponseRedirect('/return_HttpResponse/')## urls.py文件
from django.contrib import admin
from django.urls import path
from Product.views import *urlpatterns = [path('admin/', admin.site.urls),path('return_HttpResponse/',return_HttpResponse),path('return_redirect/',return_redirect),
]

访问http://127.0.0.1:5000/return_redirect,就会重定向return_HttpResponse/路由中,浏览器显示return_HttpResponse路由的内容(return_HttpResponse)。

注意:在重定向的URL路径中,前后都需要写斜杠。

JsonResponse

返回JSON类型数据,主要用JsonResponse方法,示例代码如下:

## views.py文件
from django.http import JsonResponse
def return_JsonResponse(request)return JsonResponse({'data':'JsonResponse'})  ## urls.py文件
from django.contrib import admin
from django.urls import path
from Product.views import *urlpatterns = [path('admin/', admin.site.urls),path('return_JsonResponse/',return_JsonResponse),
]

访问http://127.0.0.1:5000/return_JsonResponse/,浏览器显示{"data": "JsonResponse"},返回JSON主要用于前后端分离的情况。

好了,Django框架——请求与响应就学习到这里,下篇文章我们学习Django框架——路由。

公众号:白巧克力LIN

该公众号发布Python、数据库、Linux、Flask、Django、自动化测试、Git、算法、前端、服务器等相关文章!

- END -

http://www.yayakq.cn/news/815977/

相关文章:

  • 一般网站建设收费几年合同济宁建站公司
  • 网站怎么做有创意佛山cms建站系统
  • 宁波优化网站哪家好学做网站论坛会员账号
  • 网站备案加急php做简单网站教程视频
  • 如何撰写网站建设方案书好多商城app
  • 国外 精美 网站购物网站哪个便宜
  • 怎么写一个网站程序制作公司网站的流程
  • 电商网站需求分析铜仁北京网站建设
  • 模版网站建设企业杭州seo托管公司推荐
  • 推广 电子商务网站建设网站备案 年审
  • 网站优化描述设置电子商务网站模板免费下载
  • lol英雄介绍网站模板做的好的企业网站
  • 自己建设网站需要些什么网站优化主要怎么做
  • 食品类网站模板廊坊网站定制开发
  • 潍坊网站seo外包小说发表哪个网站赚钱
  • html网页制作网站wordpress 使用七牛云
  • 网站建设方案书 下载互动平台罗马复兴
  • 科技公司网站模版兰州做高端网站的公司
  • php网站开发招聘什么是网站开发设计与实现
  • 帮做论文网站吗深圳市室内设计公司
  • 南通专业家纺网站建设wordpress tag模板代码
  • 网站开发实现软硬件环境如何防止网站被采集
  • thinkphp建站网址吉林建筑大学本科招生网
  • 网站续费怎么做帐微网站模板标签
  • 移动端网站开发项目网站建设企业网的项目描述
  • 网站编辑专题怎么做网销怎么找客户资源
  • 公司需要做网站吗要怎样夸一个网站做的好看
  • 连连电商网站开发公司怎么在濮阳网站做宣传
  • 成都网站建设推来客网站系统金山网页设计
  • 深圳网站设计必选成都柚米科技09做网络营销典型企业