cookie:
Django
Django处理一个请求的流程
在浏览器的地址栏中输入地址,回车,发了一个GET请求
wsgi模块接收了请求,将请求的相关信息封装成request对象
根据地址找到对应函数
执行函数获取到返回结果,wsgi模块将结果返回给浏览器
发请求的途径
在浏览器的地址栏中输入地址 get请求
a标签 get请求
form表单 get/post
函数
def xxxx(reqeust):
return HttpResponse()reqeust:
reqeust.GET url上携带的参数 ?k1=v1&k2=v2
reqeust.POST form表单提交POST请求的参数
request.method 请求方式 GET、POST
response:
HttpResponse('字符串') ——》 返回字符串
render(request,'模板的名字',{}) ——》 返回一个页面
redirect('地址') ——》 重定向
ORM
from django.db import models
class Publisher(models.Model):
name = models.CharField(max_length=32)
# 一对多的关系
class Book(models.Model):
name = models.CharField(max_length=32)
pub = models.ForeignKey(to='Publisher',on_delete=None)
def __str__(self):
return self.name查询:
from app01 import models
ret = models.Book.objects.all() # QuerySet 对象列表
for book in ret:
print(book)
print(book.name)
print(book.id) print(book.pk)
print(book.pub) # 所关联的对象
print(book.pub_id) # 所关联的对象id
新增
obj = models.Book.objects.create(name='xxx',pub=出版社的对象)
obj = models.Book.objects.create(name='xxx',pub_id=出版社的对象id)
obj = models.Book(name='xxx',pub_id=出版社的对象id)
obj.save()删除
models.Book.objects.filter(pk=1).delete()
models.Book.objects.get(pk=1).delete()修改
models.Book.objects.filter(pk=1).update(name='xxx')
obj = models.Book.objects.filter(pk=1).first()
obj.name = 'xxxx'
obj.pub_id = 2
obj.save()模板语法
render(request,'模板的名字',{‘k1’:v1,'books':books})
{{ k1 }}
{% for i in books %}
{{ forloop.counter }}
{{ i }}
{% endfor %}
{% if 条件 %}
xxx
{% else %}
xxxxx
{% endif %}# 查询所有的作者信息
all_authors = models.Author.objects.all()
for author in all_authors:
print(author)
print(author.name)
print(author.books,type(author.books)) # 关系管理对象
print(author.books.all(),type(author.books.all())) # 所关联的所有的对象新增
book_id = request.POST.getlist('book_id')
# 插入数据
obj = models.Author.objects.create(name=author_name)
obj.books.set(book_id) # 设置多对多的关系
cookie
定义:
保存在浏览器本地上一组组键值对
特点:
1. cookie是由服务器进行设置的
浏览器保存在本地的
下次访问时自动携带对应的cookie
Django的操作:
设置
response.set_cookie(key,value) # Set-Cookie: is_login=1; Path=/
response.set_signed_cookie('is_login','1',salt='xxxx')获取
request.COOKIES # {}
request.COOKIES[key] .get(key)
request.get_signed_cookie(key,salt='xxxx',default='',max_age=5,path='/')删除
response.delete_cookie(key) # 设置键值对的值为空 超时时间为0
cookie:的更多相关文章
- Cookie:SameSite,防止CSRF攻击
前言 最近在本地调试时,发现请求接口提示“未登录”,通过分析HTTP请求报文发现未携带登录状态的Cookie: PS:登录状态Cookie名是TEST 再进一步分析,发现Cookie的属性SameSi ...
- Cookie:解决HTTP协议无保存状态
客户端 Cookie会根据从服务器端发送的相应报文内一个叫Set-Cookie的首部字段信息,通知客户端保存Cookie.当下次客户端再往该服务器发送请求时,客户端会自动在请求报文中加入Cookie值 ...
- Webform:Session、Cookie对象的用法
Session 优点:1.使用简单,不仅能传递简单数据类型,还能传递对象. 2.数据量大小是不限制的. 缺点:1.在Session变量存储大量的数据会消耗较多的服务器资源. 2.容易丢失. 使用方法 ...
- JavaSe:Cookie 管理的API介绍
CookieManager 在使用HttpURLConnection中,并没有关于Cookie的管理.如果使用Java程序时,怎么管理cookie呢? Cookie案例 1. User Agent - ...
- 转:理解Cookie和Session机制
原文: 理解Cookie和Session机制 摘要: Cookie工作原理 由于HTTP是一种无状态的协议,服务器单从网络连接上无从知道客户身份.怎么办呢?就给客户端们颁发一个通行证吧,每人一个,无论 ...
- 转:JQuery读写Cookie
Cookies是一种能够让网站服务器把少量数据储存到客户端的硬盘或内存,或是从客户端的硬盘读取数据的一种技术.当你浏览某网站时,你硬盘上会生产一个非常小的文本文件,它可以记录你的用户ID.密码.浏览过 ...
- JavaWeb学习之转发和重定向、会话技术:cookie、session、验证码实例、URLConnection使用(下载网页)(4)
1.转发和重定向 HttpServletResponse response 转发: RequestDispatcher dispatcher = request.getRequestDispatche ...
- cookie 二:
本篇随笔从cookie的入门开始,介绍了cookie的设置获取和移除,还有一些小的应用案例:一.设置cookie <script> //设置cookie:function setCooki ...
- 客户端的数据来源:QueryString, Form, Cookie Request[]与Request.Params[]
在ASP.NET编程中,有三个比较常见的来自于客户端的数据来源:QueryString, Form, Cookie . 我们可以在HttpRequest中访问这三大对象. QueryString: 获 ...
随机推荐
- 反卷积(Transposed Convolution)
反卷积的具体计算步骤 令图像为 卷积核为 case 1 如果要使输出的尺寸是 5x5,步数 stride=2 ,tensorflow 中的命令为: transpose_conv = tf.nn.con ...
- 设计模式-Facade(结构型模式) 针对 最终类的实现通过一系列类的相关操作,重点关注 起始与结尾的操作。
以下代码来源: 设计模式精解-GoF 23种设计模式解析附C++实现源码 //Facade.h #pragma once class Subsystem1 { public: Subsystem1() ...
- 【转】SQL中GROUP BY语句与HAVING语句的使用
一.GROUP BY GROUP BY语句用来与聚合函数(aggregate functions such as COUNT, SUM, AVG, MIN, or MAX.)联合使用来得到一个或多个列 ...
- Linux 学习记录二(文件的打包压缩).
和 window不同,在Linux压缩文件需要注意的是,压缩后的文件会把源文件给替代,无论是gzip.bzip2.xz 均不支持压缩目录,要达到压缩目录的目的,需要用到tar指令. gzip 压缩 ...
- Luogu P3600 随机数生成器
Luogu P3600 随机数生成器 题目描述 sol研发了一个神奇的随机数系统,可以自动按照环境噪音生成真·随机数. 现在sol打算生成\(n\)个\([1,x]\)的整数\(a_1...a_n\) ...
- video调用直播接口:防止缓存方案
有时候我们需要调用解析过直播接口,使用video播放,但是在暂停又开始后,直播视频不会自动刷新,而是继续从暂停之前的时间点开始播放. 下面是我的解决方案代码,弟弟们请看我的下面: <!DOCTY ...
- SQLServer某个库log日志过大,无法收缩日志文件 ,因为该文件结尾的逻辑日志文件正在使用
问题描述: 今天看到user库日志备份方面很久,然后查看到user库这个log日志很大 图片是我已经解决了,然后现在可以收缩的大小 解决方法: 1.先备份user库日志,因为很大,所以要等很久,这个只 ...
- Selenium+java - 使用csv文件做数据驱动
前言 早期我们使用TestNG 来做数据驱动进行测试,测试数据是写在测试用例脚本中.这会使得测试脚本的维护工作量很大.因此我们可以将测试的数据和脚本分开. 而我们经常使用会使用csv文件来做为导出数据 ...
- jQuery 源码分析(十一) 队列模块 Queue详解
队列是常用的数据结构之一,只允许在表的前端(队头)进行删除操作(出队),在表的后端(队尾)进行插入操作(入队).特点是先进先出,最先插入的元素最先被删除. 在jQuery内部,队列模块为动画模块提供基 ...
- Oracle - 如何查找指定字符串所出现的表
需求:举个例子,oracle测试库的scott用户下面的有张emp表,emp表的ename列中有一行数据为'CLARK'.红色标记部分. SQL> select * from scott.emp ...