Web框架
学习python的Django、Flask、Tornado框架
凤求凰的博客
人生态度:珍惜时间,渴望学习,热爱音乐,把握命运,享受生活!!!
展开
-
Django框架(十八):从源码层面达到MySQL读写分离
文章目录1、settings.py2、urls.py3、views.py4、models.py5、数据库迁移6、使用using手动读写分离7、读写分离自动化1、settings.py修改数据库配置:# 主库'default': { 'ENGINE': 'django.db.backends.mysql', 'NAME': 'test', 'USER': 'root', 'PASSWORD': '123456', 'HOS原创 2020-08-18 08:34:01 · 276 阅读 · 0 评论 -
Django框架(十七):CBV、FBV与装饰器
一、CBV# 之前我们写的视图都是FBV!因为我们称之为视图函数嘛FBV-----function based view 基于函数的视图# 其实还有视图类这一说法!那就是下面这个CBV-----class based view 基于类的视图FBV相信大家已经不陌生,这里我主要说下CBV!1、CBV视图类实现# views.pyfrom django.shortcuts import render,HttpResponsefrom django.views impo原创 2020-08-11 15:26:58 · 337 阅读 · 0 评论 -
Django框架(十六):组合搜索、瀑布流(未熟悉)
文章目录一、组合搜索1、模型设计2、一对多组合搜索设计(1)效果(2)views.py(4)模板3、多对多组合搜索设计(了解)(1)效果(2)views.py(3)模板二、瀑布流一、组合搜索现在很多网站都会有这样的组合搜索功能,其实质是几个模型之间组合对数据库进行查询,并将结果显示到页面上。每一行都是一个模型,模型之间有着连表关系(一对多、多对多等)1、模型设计总共四个模型:分别为方向、分类、等级以及存储结果信息一个方向下可以有多个分类,一个分类也可以是多个方向(多对多)一个分类可以有多个视原创 2020-08-10 11:25:02 · 361 阅读 · 0 评论 -
Django项目实战(一):图书管理系统---第六阶段---添加自定义分页
文章目录一、效果展示二、pager.py三、views.py四、urls.py五、index.html1、完整修改后的文件2、主要修改点说明django有带分页器,也可以针对其进行扩展分页,但是我比较推崇自己自定义分页,这个东西到那个语言都能行!和分页有关的文件如下:一、效果展示二、pager.pyclass Pagination(object): def __init__(self, total_count, current_page, per_page_item_num=10, m原创 2020-08-08 14:35:45 · 593 阅读 · 2 评论 -
Django框架(十五):JsonResponse模块
from django.http import JsonResponse源码class JsonResponse(HttpResponse): """ An HTTP response class that consumes data to be serialized to JSON. :param data: Data to be dumped into json. By default only ``dict`` objects are allowed to原创 2020-08-04 22:29:24 · 521 阅读 · 0 评论 -
Django项目实战(一):图书管理系统---第五阶段---基于Forms组件(注册功能)+注销功能+事务
下面是小凰凰的简介,看下吧!????人生态度:珍惜时间,渴望学习,热爱音乐,把握命运,享受生活????学习技能:网络 -> 云计算运维 -> python全栈( 当前正在学习中)????您的点赞、收藏、关注是对博主创作的最大鼓励,在此谢过!有相关技能问题可以写在下方评论区,我们一起学习,一起进步。后期会不断更新python全栈学习笔记,秉着质量博文为原则,写好每一篇博文。文章目录一、效果展示1、注册功能2、注销功能二、项目目录展示三、项目源码1、views.py2、common.p原创 2020-08-03 12:35:51 · 814 阅读 · 0 评论 -
Django框架(十四):Forms组件介绍及钩子函数
文章目录一、Forms组件用途二、Forms组件的使用语法1、创建规则(创建一个forms类)2、检验数据3、实战演练三、钩子函数---自定义规则1、局部钩子(1)数据库表模型(2)匹配规则(3)视图函数2、全局钩子(1)钩子函数源码剖析(2)数据库表模型(3)匹配规则(4)视图函数一、Forms组件用途顾名思义,forms组件是不是和前端form标签有关系呢?对,可以这么想。当我们在注册账号的时候是不是需要校验数据的格式、正确性等信息呢?就如下图。注册不符合规则是不是得有提醒,因此需要在页面中显示错原创 2020-08-03 00:54:25 · 1484 阅读 · 1 评论 -
Django项目实战(一):图书管理系统---第四阶段---基于用户认证组件(登录功能+修改密码)
下面是小凰凰的简介,看下吧!????人生态度:珍惜时间,渴望学习,热爱音乐,把握命运,享受生活????学习技能:网络 -> 云计算运维 -> python全栈( 当前正在学习中)????您的点赞、收藏、关注是对博主创作的最大鼓励,在此谢过!有相关技能问题可以写在下方评论区,我们一起学习,一起进步。后期会不断更新python全栈学习笔记,秉着质量博文为原则,写好每一篇博文。文章目录一、效果展示1、登录功能2、修改密码功能二、项目目录展示三、项目源码1、views.py2、middle原创 2020-08-01 01:19:17 · 578 阅读 · 1 评论 -
Django框架(十三):ORM中的锁与事务
文章目录一、锁(了解)二、事务1、全局开启(不推荐)2、局部使用事务(推荐)(1)给函数做装饰器来使用(2)作为上下文管理器来使用,其实就是设置事务的保存点看本篇博文之前需要对mysql锁与事务非常熟悉,点我学习:mysql锁机制点我学习:mysql事务一、锁(了解)行级锁select_for_update(nowait=False, skip_locked=False) #注意必须用在事务里面,至于如何开启事务,我们看下面的事务一节。返回一个锁住行直到事务结束的查询集,如果数据库支持,它将原创 2020-07-31 23:39:10 · 689 阅读 · 0 评论 -
Django框架(十二):中间件
文章目录一、初识Django中间件1、什么是中间件2、中间件在Django框架中的使用(1)Django框架(2)Django默认的中间件(setting.py)(3)中间件中的方法二、自定义中间件1、process_request、process_response讲解与实现(1)讲解与实现(2)中间件的简单控制--对request的控制--拦截(3)中间件的简单控制--对request的控制--白名单-放行(4)中间件的简单控制--对response的控制--偷梁换柱2、加入process_view讲解与原创 2020-07-31 23:22:06 · 423 阅读 · 0 评论 -
Django框架(十一):用户认证组件
文章目录一、auth模块1、先看下 auth_user表2、auth模块用法(1)authenticate()---用户名、密码验证(2)login(HttpRequest, user)---用户登录(3)logout(request)---用户注销(退出登录)3、user对象(1)创建用户---用户注册【1】创建普通用户【2】创建超级用户(2)用户修改密码【1】check_password()---验证原来密码【2】 set_password()---修改密码(3)判断当前用户是否登录两种方法【1】is_原创 2020-07-30 17:10:14 · 317 阅读 · 0 评论 -
Django框架(十):Cookie与Session
文章目录一、引言1、cookie引言2、会话跟踪技术(1)什么是会话?(2)会话跟踪技术二、Cookie1、cookie简介2、cookie机制的原理介绍3、cookie规范4、cookie的简单使用(1)设置Cookie(2)获取Cookie(3)删除Cookie(4)set_cookie参数详解5、cookie的优缺点三、Session1、session简介2、session原理---需要借助cookie实现3、session的基本操作4、session的两种情景(1)一个浏览器上的多用户登录场景(2)原创 2020-07-30 01:15:37 · 1342 阅读 · 0 评论 -
Django项目实战(一):图书管理系统---第三阶段---添加作者、出版社管理系统
下面是小凰凰的简介,看下吧!????人生态度:珍惜时间,渴望学习,热爱音乐,把握命运,享受生活????学习技能:网络 -> 云计算运维 -> python全栈( 当前正在学习中)????您的点赞、收藏、关注是对博主创作的最大鼓励,在此谢过!有相关技能问题可以写在下方评论区,我们一起学习,一起进步。后期会不断更新python全栈学习笔记,秉着质量博文为原则,写好每一篇博文。文章目录一、效果展示1、图书管理系统2、作者管理系统3、出版社管理系统二、项目目录展示三、项目源码1、model原创 2020-07-29 10:57:49 · 943 阅读 · 0 评论 -
Get小技能:Django批量插入数据到数据库的bulk_create方法
在Django中需要向数据库中插入多条数据(list)。使用如下方法,每次save()或create()的时候都会访问一次数据库。导致性能问题:for i in range(100): p = Book(name='第%s本书'%i) p.save()或for i in range(100): Book.objects.create(name='第%s本书'%i)在django1.4以后加入了新的特性。使用django.db.models.query.QuerySet.b原创 2020-07-28 15:48:16 · 1206 阅读 · 0 评论 -
Django框架(九):Ajax请求(高级部分)
文章目录一、引言二、请求头ContentType1、准备知识2、application/x-www-form-urlencoded3、multipart/form-data(图片、文件采用)(1)form-data格式介绍(2)案例一:form表单标签的文件上传(3)案例二:ajax文件上传4、application/json(1)json格式介绍(2)浏览器客户端利用ajax发送json数据一、引言我们知道,HTTP 协议是以 ASCII 码传输,建立在 TCP/IP 协议之上的应用层规范。规范把 H原创 2020-07-28 15:32:46 · 470 阅读 · 0 评论 -
Django框架(八):Ajax请求(基础部分)
文章目录一、Ajax简介1、浏览器向服务器发送请求的形式2、Ajax引言3、Ajax两大特点4、Ajax怎么实现局部刷新呢?二、Ajax案例1、get请求2、post请求三、json在Ajax简单应用一、Ajax简介作用:前端浏览器向后端服务器发送请求的一种技术AJAX(Asynchronous Javascript And XML)翻译成中文就是“异步Javascript和XML”。即使用Javascript语言与服务器进行异步交互,传输的数据为XML(当然,传输的数据不只是XML,现在更多使用js原创 2020-07-28 12:21:46 · 1257 阅读 · 0 评论 -
Django框架(七):聚合查询与分组查询、F与Q函数
文章目录一、聚合查询二、分组查询1、单表分组查询2、多表分组查询3、分组查询补充(1)案例1的三种书写方式(2)案例2的三种书写方式三、F函数四、Q函数一、聚合查询什么是SQL的聚合函数?Avg、Sum、Count、Max、Min这些就是聚合函数,在SQL中这些都是小写的!ORM的聚合查询底层sql也就是这些函数!aggregate():聚合函数(Avg、Sum等等)作为参数传给这个函数!# 计算所有图书的平均价格 >>> from django.db.models import原创 2020-07-26 23:12:36 · 384 阅读 · 0 评论 -
Django项目实战(一):图书管理系统---第二阶段---多表操作版
文章目录一、效果展示1、图书展示界面2、图书删除功能3、图书添加功能4、图书编辑功能二、项目目录展示三、项目源码1、models.py2、urls.py3、views.py4、模板(1)index.html(2)add.html(3)edit.html四、项目心得总结1、注意事项2、select多选框的实现方法一、效果展示1、图书展示界面2、图书删除功能3、图书添加功能4、图书编辑功能解决了上次图书管理系统的删除序号重排问题,也全部采用了系统自建主键!优化了界面项目不足之处:由于多表原创 2020-07-26 19:39:37 · 614 阅读 · 0 评论 -
Django框架(六):模型层之多表操作
文章目录一、创建模型二、添加表记录1、一对多2、多对多三、修改、删除表记录1、删除表记录2、修改表记录四、跨表查询1、基于对象的跨表查询(1)一对多查询(例如:Publish 与 Book)(2)一对一查询(例如:Book 与 BookDetail)(3)多对多查询 (Book 与 Author)2、基于双下划线的跨表查询一、创建模型书籍(Book)和书籍详细(BookDetail)是一对一关系出版社(Publish)和书籍(Book)是一对多的关系作者(Author)和书籍(Book)是多对多的关原创 2020-07-26 19:37:59 · 2825 阅读 · 5 评论 -
Django项目实战(一):图书管理系统---第一阶段---单表操作版
文章目录一、效果展示1、图书展示界面2、图书删除功能3、图书添加功能4、图书编辑功能二、项目目录展示三、项目源码1、models.py2、urls.py3、views.py4、模板(1)index.html(2)add.html(3)edit.html三、实验收获总结1、path、url、re_path的区别2、**打散方法添加数据3、动态url的反向解析方法一、效果展示1、图书展示界面2、图书删除功能3、图书添加功能4、图书编辑功能二、项目目录展示大致流程:1、先把项目所用数据库原创 2020-07-23 15:48:10 · 683 阅读 · 0 评论 -
Django框架(五):模型层之单表操作
文章目录一、ORM简介二、操作前的准备1、链接mysql2、pymysql驱动的设置三、创建表1、实战创建表2、字段类型和参数剖析(1)字段类型(2)字段类型的更多常用参数四、添加表记录1、方法(一)(推荐)2、方法(二)五、查询表记录1、all()2、filter()3、get()4、first(),last()5、exclude()6、order_by()---正向排序7、reverse()---反向排序8、count()9、exists()10、values()11、values_list()12、d原创 2020-07-23 14:50:44 · 429 阅读 · 0 评论 -
Django框架(四):模板层
文章目录一、前言二、模板语法1、变量2、过滤器(1)default(2)length(3)filesizeformat(4)date(5)slice(6)truncatechars(7)safe---xss攻击3、标签(1)for标签(2)if 标签(3)with标签(4)csrf_token4、自定义标签及过滤器(暂不总结)三、模板继承一、前言学到这里,我们应该知道了大多数的页面的大多数的数据都是不断变更的,这些就是动态页面,静态页面现在很少了,动态页面也就是与数据库有交互的页面!我们需要从数据库拿出原创 2020-07-20 16:56:21 · 347 阅读 · 0 评论 -
Django框架(三):视图层
文章目录一、视图函数二、request对象1、常用属性2、常用方法三、响应对象三种形式1、HttpResponse()2、render()3、redirect()(1)传递要重定向的一个硬编码的URL(2)完整的URL一、视图函数一个视图函数,简称视图,是一个简单的Python 函数,它接受Web请求并且返回Web响应。响应可以是一张网页的HTML内容,一个重定向,一个404错误,一个XML文档,或者一张图片. . . 是任何东西都可以。无论视图本身包含什么逻辑,都要返回响应。代码写在哪里也无所谓,只要原创 2020-07-20 12:10:52 · 385 阅读 · 0 评论 -
Django框架(二):路由层
文章目录一、简单路由配置二、分组---位置传参三、有名分组---关键字传参四、路由分发五、反向解析1、urls.py2、方式一:前端的template模板中3、方法二:后端的python中URL配置(URLconf)就像Django 所支撑网站的目录。它的本质是URL与要为该URL调用的视图函数之间的映射表;你就是以这种方式告诉Django,对于客户端发来的某个URL调用哪一段逻辑代码对应执行。一、简单路由配置其实这个就相当于是nginx的location匹配规则!from django.conf.原创 2020-07-19 14:54:53 · 388 阅读 · 0 评论 -
Django框架(一):初识
文章目录一、认识Django1、简介2、MVC与MVT模式(1)MVC模式(2)Django的MVT模式二、Django安装与使用1、手动创建django项目2、pycharm创建django项目一、认识Django1、简介Django,是用python语言写的开源web开发框架,并遵循MVC设计。Django的主要目:简便、快速的开发「数据库」驱动的网站。它强调代码复用,多个组件可以很方便的以"插件"形式服务于整个框架,Django有许多功能强大的第三方插件,你甚至可以很方便的开发出自己的工具包原创 2020-07-19 00:47:21 · 469 阅读 · 1 评论