首页
学习
活动
专区
圈层
工具
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

10.Django基础八之cookie和session

可以把会话理解为客户端与服务器之间的一次会晤,在一次会晤中可能会包含多次请求和响应。例如你给10086打个电话,你就是客户端,而10086服务人员就是服务器了。...并且还有一个问题就是,你登陆我的网站的时候,我没法确定你是不是登陆了,之前我们学的django,虽然写了很多页面,但是用户不用登陆都是可以看所有网页的,只要他知道网址就行,但是我们为了自己的安全机制,我们是不是要做验证啊...Cookie与HTTP头     Cookie是通过HTTP请求和响应头在客户端和服务器端传递的: Cookie:请求头,客户端发送给服务器端; 格式:Cookie: a=A; b=B; c=C。...即多个Cookie用分号离开;  Set-Cookie:响应头,服务器端发送给客户端; 一个Cookie对象一个Set-Cookie: Set-Cookie: a=A Set-Cookie: b=B...还有,你想想是不是你登陆一次就在django-session表里面给你添加一条session记录吗?为什么呢?

84220

03.Django基础三之视图函数

一 Django的视图函数view   一个视图函数(类),简称视图,是一个简单的Python 函数(类),它接受Web请求并且返回Web响应。   ...响应可以是一张网页的HTML内容,一个重定向,一个404错误,一个XML文档,或者一张图片。   无论视图本身包含什么逻辑,都要返回响应。代码写在哪里也无所谓,只要它在你当前项目目录下面。...除此之外没有更多的要求了——可以说“没有什么神奇的地方”。为了将代码放在某处,大家约定成俗将视图放置在项目(project)或应用程序(app)目录中的名为views.py的文件中。...这个视图会返回一个HttpResponse对象,其中包含生成的响应。每个视图函数都负责返回一个HttpResponse对象。   Django使用请求和响应对象来通过系统传递状态。   ...301和302状态码都表示重定向,就是说浏览器在拿到服务器返回的这个状态码后会自动跳转到一个新的URL地址,这个地址可以从响应的Location首部中获取 (用户看到的效果就是他输入的地址A瞬间变成了另一个地址

5K30
  • 您找到你想要的搜索结果了吗?
    是的
    没有找到

    Django-下载安装-配置-创建Django项目-三板斧简单使用

    项目目录介绍 配置文件 settings.py 解析 Django小白必会三板斧 HttpResponse 举例 添加路由 编写对应的视图函数 在浏览器中请求数据 render 举例(可传数据模板渲染)...添加路由 配置视图函数 在浏览器中请求数据 redirect 案例 老规矩:添加路由 配置视图函数 在浏览器中请求数据 官网 简介 是一个为完美主义者设计的web框架 The web framework...如果你有更好的方法也可以在文章下方评论告诉我,谢谢~ Django下载安装 下载安装还是需要一点点时间的,可以考虑使用国内的 pip源(参考我的博客设置:配置pip仓库地址) 下面的安装方式选一个即可...创建Django项目与应用 应用(app)是什么我还不太懂,所以这一块儿有点乱,可以看这个文章理解一下:django中app指的是什么,可以代表什么呢 命令行下创建与启动 如果不会的话,让你在服务器上改咋办...返回html页面并且能够给该页面传值 redirect: 重定向,返回指定的页面html(浏览器可以看到302状态码) 强调:每新添加一个功能都应该在路由文件 urls.py中添加一个路由与视图的对应关系

    84120

    DjangoRestFramework,restful规范、APIview、解析器组件、Postman等

    ,浏览器会直接跳转,API 级别可以不考虑这两种情况。         ...一个解决方法就是,在回应中,给出相关链接,便于下一步操作。这样的话,用户只要记住一个 URL,就可以发现其他的 URL。这种方法叫做 HATEOAS。       ...,不用DRF来写个接口,看看效果   好,接下来我们创建一个django项目,models中创建一个表,添加一些数据,然后写一个数据接口来获取一下这些数据,返回json数据类型,按照我们CBV的模式来写...2.2 解析器组件       知识准备,还记得一个叫做contentType的http请求头的东西吗?回想一下。 ?       ...,而是一个属性方法,还记得属性方法吗 return HttpResponse('POST')   源码看着比较复杂,这里我就不列举了,反正你要知道的是,我们的解析器的查找使用顺序是:

    2.5K20

    Django之views系统

    Django的View(视图)简介 一个视图函数(类),简称视图,是一个简单的Python 函数(类),它接受Web请求并且返回Web响应。...响应可以是一张网页的HTML内容,一个重定向,一个404错误,一个XML文档,或者一张图片。 无论视图本身包含什么逻辑,都要返回响应。代码写在哪里也无所谓,只要它在你当前项目目录下面。...除此之外没有更多的要求了——可以说“没有什么神奇的地方”。为了将代码放在某处,大家约定成俗将视图放置在项目(project)或应用程序(app)目录中的名为views.py的文件中。...这个视图会返回一个HttpResponse对象,其中包含生成的响应。每个视图函数都负责返回一个HttpResponse对象。 Django使用请求和响应对象来通过系统传递状态。...template_name:要使用的模板的完整名称, 可选的参数 context:添加到模板上下文的一个字典。默认是一个空字典。如果字典中的某个值是可调用的,视图将在渲染模板之前调用它。

    2.2K70

    Django 2.1.7 视图 - HttpResponse对象、子类JsonResponse、子类HttpResponseRedirect

    运行服务器,在浏览器中浏览首页,可以在浏览器“开发者工具”中看到响应信息如下图: 标号3为响应头信息,点击标号4处可以查看响应体信息。 ? 属性 content:表示返回的内容。...如果使用这种方式构造一个漂亮丰富的页面,对于开发人员真是会发疯,于是就有了下面的方式: 调用模板 可以将html、css、js定义到一个html文件中,然后由视图来调用。...,而是转到这个视图就可以,此时就需要模拟一个用户请求的效果,从一个视图转到另外一个视图,就称为重定向。...重定向简写函数redirect 在django.shortcuts模块中为重定向类提供了简写函数redirect。...1)修改assetinfo/views.py文件中red1视图,代码如下: from django.shortcuts import redirect # 定义重定义向视图,转向刚刚创建的json1页面

    1.3K20

    Django学习笔记之Django视图View

    一个视图函数(类),简称视图,是一个简单的Python 函数(类),它接受Web请求并且返回Web响应。 响应可以是一张网页的HTML内容,一个重定向,一个404错误,一个XML文档,或者一张图片。...为了将代码放在某处,大家约定成俗将视图放置在项目(project)或应用程序(app)目录中的名为views.py的文件中。...这个视图会返回一个HttpResponse对象,其中包含生成的响应。每个视图函数都负责返回一个HttpResponse对象。 Django使用请求和响应对象来通过系统传递状态。...我们写的每个视图都需要实例化,填充和返回一个HttpResponse。 HttpResponse类位于django.http模块中。...默认返回一个临时的重定向;传递permanent=True 可以返回一个永久的重定向。 示例: 你可以用多种方式使用redirect() 函数。

    1.8K30

    python 终极篇 --- django

    响应可以是一张网页的HTML内容,一个重定向,一个404错误,一个XML文档,或者一张图片。 无论视图本身包含什么逻辑,都要返回响应。代码写在哪里也无所谓,只要它在你当前项目目录下面。...为了将代码放在某处,大家约定成俗将视图放置在项目(project)或应用程序(app)目录中的名为views.py的文件中。                                    ...我们写的每个视图都需要实例化,填充和返回一个HttpResponse。 HttpResponse类位于django.http模块中。...template_name:要使用的模板的完整名称,可选的参数 context:添加到模板上下文的一个字典。默认是一个空字典。如果字典中的某个值是可调用的,视图将在渲染模板之前调用它。...默认返回一个临时的重定向;传递permanent=True 可以返回一个永久的重定向。 示例: 你可以用多种方式使用redirect() 函数。

    1.6K10

    django 1.8 官方文档翻译: 3-6-2 内建的中间件

    如果开启了这些缓存,任何一个由Django提供的页面将会被缓存,缓存时长是由你在CACHE_MIDDLEWARE_SECONDS配置中定义的。详见缓存文档。...注意 如果你的站点部署在负载均衡器或者反向代理之后,并且Strict-Transport-Security协议头没有添加到你的响应中,原因是Django有可能意识不到这是一个安全连接。...欲知更多有关这个协议头和浏览器如何处理它的内容,你可以在IE安全博客中读到它。...通过寻找页面中GET或者POST参数中的JavaScript内容来实现。如果JavaScript在服务器的响应中被重放,页面就会停止渲染,并展示一个错误页来取代。...站点中间件 class CurrentSiteMiddleware[source] Django 1.7中新增 向每个接收到的HttpRequest对象添加一个site属性,表示当前的站点。

    96430

    【Python全栈100天学习笔记】Day47 Django中间件使用

    在上一个章节中,我们在用户登录成功后通过session保留了用户信息,接下来我们可以应用做一些调整,要求在为老师投票时必须要先登录,登录过的用户可以投票,否则就将用户引导到登录页面,为此我们可以这样修改视图函数...,我们在跳转登录时设置了一个backurl参数,把当前浏览器中的URL作为返回的页面地址。...在Django项目中,我们可以把验证用户是否登录这样的重复性代码放到中间件中。...在请求的过程中,上面的中间件会按照书写的顺序从上到下执行,然后是URL解析,最后请求才会来到视图函数;在响应的过程中,上面的中间件会按照书写的顺序从下到上执行,与请求时中间件执行的顺序正好相反。...在响应用户请求的过程中,上面的中间件会按照从下到上的顺序依次执行,这样的话我们还可以对响应做进一步的处理。

    73920

    高阶应用-中间件

    一、说明 中间件是一个用来处理Django的请求和响应的框架级别的钩子。它是一个轻量、低级别的插件系统,用于在全局范围内改变Django的输入和输出。每个中间件组件都负责做一些特定的功能。...可以介入Django的请求和响应 二、本质 一个Python类 三、中间件应用场景 白名单/黑名单 通过访问者用户或者IP优先通过或者拒绝一些用户的访问 URL访问过滤 如果用户访问的是lsogin...,request) 在执行视图之前被调用(分配url匹配视图之前),每个请求上都会调用,返回None或者HttpResponse对象 返回值是None的话,按正常流程继续走,交给下一个中间件处理,如果是...view_args和view_kwargs都不包含第一个视图参数(request) process_template_response(self,request,response) 在视图刚好执行完后调用...hljs-string">'/') # 如果出现异常去首页 使用自定义中间件 配置settings.py文件 MIDDLEWARE中添加

    60010

    python基础菜鸟教程_菜鸟课程好还是文都好

    第二步,在Pycharm中新建Django项目。 在Pycharm左上角的菜单栏中,依次点击:File–>new project–>Django。在Location那一栏中可以选择项目存放的位置。...] views.py #views.py中存放的是视图函数,在路由中可以设置访问其的视图函数。...在Django中,此类参数的解析是通过request.GET.get方法获取的。 4.views.py 视图函数是一个简单的Python 函数,它接受Web请求并且返回Web响应。...template_name:要使用的模板的完整名称,可选的参数 context:添加到模板上下文的一个字典。默认是一个空字典。如果字典中的某个值是可调用的,视图将在渲染模板之前调用它。...随后Django在我们的urls.py文件根据路由名查找,决定调用哪一个视图函数。确定好之后,调用该视图函数,并返回一个响应给浏览器给浏览器。

    1.7K10

    Django之视图层

    一、视图函数   一个视图函数,简称视图,是一个简单的python函数,接收web请求并返回web响应。响应可以是一张网页的HTML内容,一个重定向,一个404错误等。...在函数中必须写一个request的参数,然后必须要有返回值,中间的逻辑随便,整个函数写在哪里也无所谓,只要python目录下就行,但我们默认规定,视图函数一般都写在每个应用下面views.py文件里。...下面是一个返回当前时间的视图函数 from django.shortcuts import render, HttpResponse, HttpResponseRedirect, redirect import...都是返回的方式而已 函数名是可以随便取的,只要和url相对应就行   二、request请求对象   request是Django把请求报文中的请求行、请求头,请求体封装成一个对象,只要用request...302的区别   301和302状态码都表示重定向,就是说浏览器在拿到服务器返回的这个状态码后会自动跳转到一个新的URL地址,这个地址可以从响应的Location首部中获取 (用户看到的效果就是他输入的地址

    1.7K10
    领券