DJANGO详情

http请求首先到达wsgi服务器,解析封装为request对象, 交给web框架处理

在框架中,中间件对请求进行进一步处理(例如:csrf、session (赛神)、路由匹配)

然后进行路由匹配, 执行不同的视图函数,可能涉及到数据库操作,模版渲染等

最后将结果传递到中间件, 封装为response响应对象

最后wsgi服务器将响应对象转换为http报文,返回给浏览器

MVC模式

M(Model):主要封装对数据库层的访问,进行增删改查操

V(View):用于封装结果,生成页面展示的HTML内容

C(Controller)(肯戳拉):用于接收请求,处理业务逻辑,返回结果

MVT模式

M(Model):负责和数据库交互,进行数据处理

V(View):接收Request,进行业务处理,返回Response

T(Template)(太姆泼累特):负责模版页面数据渲染

PV和UV都是网站流量统计指标

PV(PageView (配置 v欧):页面的浏览次数,用户每打开、刷新一次页面就记录一次,多次打开会累计,不去重

UV(Unique Visitor (优尼克,微贼特)):页面的用户访问量,一天内站点的访问人数,一个用户访

问多次也只记为1 ,一般通过Cookie (库k )即可维护

跨域是由于浏览器的同源策略限制的,浏览器不会承认未经确认的跨域数据

在后端设置CORS 头部解决跨域问题,也就是我们在Django

用的corsheaders 中间件,

它使用额外的HTTP 头来告诉浏览器,

让运行在一个域名上的应用被准许访问来自不同源服务器上的指定资源

Cookie是由服务器端生成,发送给浏览器,浏览器会将Cookie的key/value保存到某个目录下的文本文件内,下次请求同一网站时自动发送该Cookie给服务器

Cookie可以用来在某个WEB站点会话间持久的保持状态

Session是另一种记录客户状态的机制,基于Cookie实现,不同的是Cookie保存在客户端浏览器中,而Session保存在服务器上

客户端浏览器访问服务器的时候,服务器把客户端信息以某种形式记录在服务器上,这就是Session,客户端浏览器再次访问时只需要从该Session中查找该客户的状态就可以了

当服务器使用了负载均衡的时候,当多台服务器使用的都是同一套网站的代码,用户请求网站时,请求会被分发到不同的服务器上

这种情况下,用户第一次请求时,在A服务器生成了Sessionid,但在B服务器和C务器并没有生成Sessionid,此时就会导致用户的登录状态出现问题,各服务器之间不能保持一致

通过HttpResponseRedirect或是redirect实现

永久重定向:301

临时重定向:302

反向迁移其实说的就是当数据库已经建立好之后,我们希望可以在Django中利用ORM操作这些已有的表,那么可以通过ORM的反向迁移操作把已有的SQL表结构反向翻译成models里的模型类

Original: https://blog.csdn.net/mache123456/article/details/124482369
Author: mache123456
Title: DJANGO详情

原创文章受到原创版权保护。转载请注明出处:https://www.johngo689.com/733165/

转载文章受原作者版权保护。转载请注明原作者出处!

(0)

大家都在看

  • 关于Dev-C++无法打印出ascll值大于127的扩展字符的解决方案

    以输出国际象棋棋盘为例,这里我们需要用到ascll值为219的扩展字符。首先我们给出代码: #include "stdio.h" int main() { in…

    Python 2023年6月12日
    0100
  • Linux 下模拟制作块设备并挂载

    Linux 下模拟制作块设备并挂载 作者:Grey 原文地址: 博客园:Linux 下模拟制作块设备并挂载 CSDN:Linux 下模拟制作块设备并挂载 环境 CentOS-7 下…

    Python 2023年10月18日
    051
  • O2O优惠券数据分析(二)

    写在前面的话 本文中部分数据分析逻辑继承于O2O优惠券数据分析(一),如对文中部分数据处理和分析逻辑有问题,可先阅读前文。本文将主要负责分析线上用户行为及线上和线下共同用户的行为。…

    Python 2023年8月18日
    048
  • 机器学习分类问题指标评估内容详解(准确率、精准率、召回率、F1、ROC、AUC等)

    文章目录 前言 一、混淆矩阵(confusion matrix) 二、准确率,精准率,召回率,F1分数 * 1. 准确率(Accuracy) 2. 精确率(Precision) 3…

    Python 2023年9月27日
    0118
  • C语言百日刷题第十天

    前言 今天是刷题第10天,放弃不难,但坚持一定很酷~ 快来跟我一起刷题吧。 C语言百日刷题第十天 前言 81.连接两个字符串 82.输入一行字符,分别统计其中英文字母、空格、数字和…

    Python 2023年9月30日
    073
  • pytest单元测试和生成allure测试报告

    抵扣说明: 1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。 Original: https://blo…

    Python 2023年9月14日
    046
  • python基础学习心得(骰子游戏)

    掷骰子游戏 欢迎进入皇家游戏厂输入用户名,默认用户是没有币提示用户充值买币(100块钱30币,充值必须是100的倍数,充值不成功可以再次充值)玩一局游戏扣除2个币,猜 大【两个骰子…

    Python 2023年9月23日
    046
  • Python连接SQLserver数据库

    前进四的状态出发! 学习Python 连接 数据…

    Python 2023年8月2日
    037
  • pytest+allure常用命令、注解

    pytest常用注解: 跳过,可加条件:skipif -s: 显示程序中的 print/logging 输出 -v: 丰富信息模式, 输出更详细的用例执行信息 -k: 运行包含某个…

    Python 2023年9月10日
    045
  • Pandas中to_datetime()转换时间序列函数一文详解

    在这两篇文章中基本把pandas操作时间类型数据的一些常规操作都有提及和展示,作为重要相关函数to_datetime(),该函数参数值得单独拿出来讲一讲,可以省去很多转换之后的BU…

    Python 2023年8月9日
    054
  • hashlib.md5()函数来筛选出系统重复文件并移除…

    经常在下载网络素材时,会出现大量重复文件乱七八糟的情况,所以我想实现一次去重操作。 [En] Often when downloading network material, th…

    Python 2023年5月24日
    080
  • Python-模板注入

    何为模板注入? 模板引擎可以让(网站)程序实现界面与数据分离,业务代码与逻辑代码的分离,哲大大提升了开发效率,良好的设计也是的代码重用变得更加容易。 到那时模板引擎也拓宽了我们的攻…

    Python 2023年8月10日
    060
  • Python升级之路( Lv16 ) 网络编程

    Python系列文章目录 第一章 Python 入门第二章 Python基本概念第三章 序列第四章 控制语句第五章 函数第六章 面向对象基础第七章 面向对象深入第八章 异常机制第九…

    Python 2023年9月24日
    065
  • django:认证系统

    文章目录 一,权限与授权 * (一)User 对象 – 1,User 模型 2,创建用户 + (1)创建普通用户 (2)创建超级用户 3,更改密码 4,验证用户 5,删…

    Python 2023年8月4日
    045
  • 多个逻辑回归二分类器实现minist手写数字识别(Python 仅使用numpy实现)

    多分类问题可以转换为多个二分类问题,例如,需要完成对手写数字的十分类时,可以采用依次对每个数字(0-9)进行二分类的方式,最终对每次分类中计算出的正样本概率值进行排序,选择概率最高…

    Python 2023年8月25日
    037
  • Flask-蓝图、测试与部署

    Flask蓝图、测试与部署 * – + 蓝图Blueprint + * 蓝图的使用 * 以目录的形式定义蓝图 + 单元测试 + * 断言assert * 单元测试 * …

    Python 2023年8月11日
    061
亲爱的 Coder【最近整理,可免费获取】👉 最新必读书单  | 👏 面试题下载  | 🌎 免费的AI知识星球