1.django HttpResponse对象
HttpResponse对象
概述:
作用:给浏览器返回数据
HttpRequest对象是由Django创建的,HttpResponse对象是由程序员创建
用法:
不用模板,直接返回数据
语句示例:return HttpResponse(“Sunck is a good man”)
调用模板
使用render方法
原型:render(request, templateName[, context])
作用:结合数据和模板,返回一个完整的HTML页面
参数:
request:请求体对象
templateName:模板路径
context:传递给需要渲染在模板上的数据
属性
content:表示返回内容
charset:编码格式
status_code:响应状态码
200
304
404
400
content-type:指定输出的MIME类型
方法
init:使用页面内容实例化HttpResponse对象
write(content):以文件的形式写入
flush():以文件的形式输出缓冲区
set_cookie(key, value, maxAge=None, exprise=None)
delete_cookie(key):
删除cookie
如果删除一个不存在的cookie,就当什么都没发生
子类HttpResponseRedirect
功能:重定向,服务器端的跳转
简写
redirect(to)
to推荐使用反向解析
示例:
from django.http import HttpResponseRedirect
from django.shortcuts import redirect
def redirect1(request):
# return HttpResponseRedirect(’/redirect2’)
return redirect(’/redirect2’)
def redirect2(request):
return HttpResponse(“我是重定向后的视图”)
子类JsonResponse
返回Json数据,一般用于异步请求
init(self.data)
data 字典
注意:Content-type类型为application/json
状态保持
http协议是无状态的,每次请求都是一次新的请求,它不记得之前的请求。
客户端与服务器的一次通信就是一次会话
实现状态的保持,在客户端或服务端存储有关会话的数据
存储的方式
cookie:所有数据存储在客户端,不要存储敏感的数据
session:所有的数据存储在服务端,在客户端用cookie存储session_id
状态保持的目的:
在一段时间内跟踪请求者的状态,可以实现跨页面访问当前的请求者的数据
注意:不同的请求者之间不会共享这个数据,与请求者一一对应
启用session:project\project\settings.py
INSTALLED_APPS ‘django.contrib.sessions’,
MIDDLEWARE ‘django.contrib.sessions.middleware.SessionMiddleware’,
使用session
启用session后,每个httpRequest对象都有一个session属性
get[key, default=None] 根据键获取session值
clear() 清空所有会话
flush() 删除当前会话并删除会话的cookie
示例:
# session
def main(request):
# 取session
username = request.session.get(‘name’, ‘游客’)
print(username)
return render(request, ‘myApp/main.html’, {‘username’: username})

            def login(request):return render(request, 'myApp/login.html')def showmain(request):print("*****************")username = request.POST.get('username')# 存储sessionrequest.session['name'] = usernamereturn redirect('/main/')from django.contrib.auth import logoutdef quit(request):# 清除sessionlogout(request) # 方法1,推荐# request.session.clear() # 方法2request.session.flush() # 方法3return redirect('/main/')设置session过期时间set_expiry(value)request.session.set_expiry(10)  设置为10秒后过期如果不设置,2个星期后过期value设置为0代表关闭浏览器时过期value设置为None代表设置永不过期,不推荐

python:django应用问题汇总相关推荐

  1. python+Django学习资源汇总-更新中

    Python 教程 Python 3.7.4 文档 Python 基础教程 Python教程 Python入门 python+django搭建web项目 Python Django(WEB电商项目构建 ...

  2. python命令大全下载-Python pip 常用命令汇总

    使用了这么就pip命令,但是一直是简单使用,很多命令都是用了查,查了用,今天把常用的命令汇总一下,方便使用. 命令: pip 由上图可以看到 pip 支持一下命令 Commands: install ...

  3. python常用命令大全-Python pip 常用命令汇总

    使用了这么就pip命令,但是一直是简单使用,很多命令都是用了查,查了用,今天把常用的命令汇总一下,方便使用. 命令: pip 由上图可以看到 pip 支持一下命令 Commands: install ...

  4. Python+django网页设计入门(20):使用WebSocket创建多人在线聊天室

    2019年3月8日-10日公众号送书活动:中小学生Python课应该学什么 ================ 前导课程: Python+django网页设计入门(19):创建新模型扩展自带用户表的字段 ...

  5. Python+django网页设计入门(19):创建新模型扩展自带用户表的字段

    公众号送书活动火热进行中:新学期福利,送18本Python图书 ================== 前导课程: Python+django网页设计入门(18):自定义模板过滤器 Python+dja ...

  6. Python+django网页设计入门(18):自定义模板过滤器

    前导课程: Python+django网页设计入门(17):模板语法及应用 Python+django网页设计入门(16):优化设计复用分页代码 Python+django网页设计入门(15):公用模 ...

  7. Python+django网页设计入门(17):模板语法及应用

    前导课程: Python+django网页设计入门(16):优化设计复用分页代码 Python+django网页设计入门(15):公用模板设计与使用 Python+django网页设计入门(14):使 ...

  8. Python+django网页设计入门(16):优化设计复用分页代码

    前导课程: Python+django网页设计入门(15):公用模板设计与使用 Python+django网页设计入门(14):使用中间件对抗爬虫 Python+django网页设计入门(13):表单 ...

  9. Python+django网页设计入门(15):公用模板设计与使用

    前导课程: Python+django网页设计入门(14):使用中间件对抗爬虫 Python+django网页设计入门(13):表单.修改密码 Python+django网页设计入门(12):使用Bo ...

最新文章

  1. sudo apt-get update: 0% [正在等待报头]
  2. php实现小论坛,PHP开发 小型论坛教程之添加论坛-1
  3. 全面解析RS232、RS485、RS422、RJ45接口的区别和各自的应用
  4. 删除 Ceph 的image报rbd: error: image still has watchers
  5. Apache、tomcat、Nginx常用配置合集
  6. 计组之总线:1、总线(分类、特性、定义、性能指标)
  7. Hibernate之事务处理
  8. 吴恩达机器学习总结四:Octave语法
  9. [Web 前端] Jquery 复制元素,并修改属性, 追加到另一个元素后面
  10. 输入输出运算符的重载
  11. 微信小程序中的闭包写法
  12. win10系统装服务器2008蓝屏,win10专业版系统出现蓝屏的原因及解决方法
  13. 马科维茨投资组合理论(均方模型)学习笔记——基于Matlab(一)
  14. 使用微信测试号进行wechat手动授权详细版
  15. 无线自动连接的二维码规则
  16. O光 E光 双折射现象
  17. 【Python实用工具】速来!!一篇文章十分钟教你如何使用Python第三方库basemap进行地图绘制
  18. 塔望食品品牌营销:叠加爆发,能量饮料与IP嗑CP的正确姿势
  19. 【论文翻译】:PyramidBox: A Context-assisted Single Shot Face Detector
  20. 深度学习期末作业不知道做什么?来抄作业!有现成代码

热门文章

  1. 在腾讯工作半年,我获得了什么?
  2. 一款小清新的 SpringBoot+ Mybatis 前后端分离后台管理系统项目
  3. MySQL事务,这篇文章就够了
  4. 一定是你想要的微服务资源springboot、springcloud、docker、dubbo
  5. 玩转springboot:默认静态资源和自定义静态资源实战
  6. mybatis教程--实现增删改查的入门教程
  7. 网络编程1之计算机网络及参考模型、域名、服务器
  8. 把所有的谎言献给你β(找规律数学题)
  9. C语言实现录入学生信息并按分数排序输出
  10. Ubuntu 迁移 /tmp 到别的硬盘