自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(47)
  • 收藏
  • 关注

原创 Python web全栈开发_Django_billshop商城----用户中心-用户基本信息、添加邮件后端逻辑、判断用户登录并返回JSON、Django发送邮件的配置、异步发送邮件、验证邮箱后端逻辑

1. 用户中心-用户基本信息2. 添加邮箱后端逻辑实现3. 判断用户是否登录并返回JSON4. Django发送邮件的配置5. 异步发送邮件6. 验证邮箱后端逻辑

2021-02-28 20:24:47 1259

原创 Python web全栈开发_Django_billshop商城_定义QQ登录模型类、QQ登录-提供扫码登录页面、根据openid判断用户是否绑定 & 签名&展示绑定页面 & openid绑定用户实现

1-定义QQ登录模型类QQ登录成功后,我们需要将QQ用户和商场用户关联到一起,方便下次QQ登录时使用,所以我们选择使用MySQL数据库进行存储。定义模型类基类为了给项目中模型类补充数据创建时间和更新时间两个字段,我们需要定义模型类基类。 在billshop.utils/models.py文件中创建模型类基类。定义QQ登录模型类创建一个新的应用oauth,用来实现QQ第三方认证登录把基类单独抽离到utils ,其他应用可能也要用到, 所以, 这块抽离后,直接导入即可。现在映射一下数据库:

2021-02-20 15:02:12 429

原创 Python web全栈开发_Django_billshop 商城项目_首页用户名展示、退出登录、判断用户是否登录、整体QQ登录开发和绑定(文档和准备工作)

1. 首页用户名展示三个方案方案一• 模板中 request 变量直接渲染用户名• 缺点:不方便做首页静态化因为静态化 将来访问和刷新速度更快,这个优化必然要做, 所以,不推荐用方案一, 动态化是指访问需要提出请求。{% if user.is_authenticated %} <div class="login_btn fl"> 欢迎您:<em>{{ user.username }}</em> <span>|

2021-02-19 17:27:27 514 3

原创 Python web全栈开发_Django_billshop 商城项目_账号登录-用户名登录逻辑分析&接口设计、用户名登录后端逻辑、多账号登录、pycharm断点调试

1.账号登录-用户名登录逻辑分析&接口设计用户名登录接口设计请求方式:选项 方案请求方法 POST请求地址 /login/请求参数:表单参数名 类型 是否必传 说明username string 是 用户名password string 是 密码remembered string 否 是否记住用户响应结果:HTML

2021-02-17 15:04:40 424 2

原创 Python web全栈开发_Django_billshop 商城项目_pipeline操作Redis数据库、生产者消费者设计模式、celery 介绍、安装和处理

2. celery不建议安装最新版本5.0 以上,因为我的redis 版本也不高,否则要同步升高。所以安装4.4.7即可。pip install celery==4.4.7 -i https://pypi.douban.com/simplestep 1 定义包它可以脱离django使用, 也不必新建再utils 了。 直接在项目目录下新建package (celery_tasks), 将来也可以拿走step 2 创建实例新建main文件, (相当于celery的入口文件)。。。

2021-02-17 11:33:04 1315 5

原创 python 全栈开发 Django_ billshop 商城_ 注册功能的全部实现、含前后端和所有全功能验证

1. 短信验证码 封装单例类 的设计模式(先进的思维,请多模仿)状态码000000表示测试发送成功。 关键隐私ID 等全部隐藏。注意一小时内,只能发送三次。 这是容联云 规定。现在优化代码为django相关参数的传递活代码现在再看看有没有优化空间:仔细看看这其实是类smsSDK如果有多个用户都在 注册,那么如何让这个 类只实例化一次,就到下面的方法去?那么就用到单例(让第一个实例化, 后面所有的都用实例化之后的类属性走。)类里面两个重要方法:new 和 initnew 方法是 创

2021-02-16 12:14:17 1493 3

原创 Django全栈开发_billshop 商城项目 _4 注册功能前后端含校验开发、图形验证码前后端全功能开发、短信容联云

1. 注册状态保持状态保持• 如果需求是注册成功后即表示用户登入成功,那么此时可以在注册成功后实现状态保持• 如果需求是注册成功后不表示用户登入成功,那么此时不用在注册成功后实现状态保持@@@ 我的需求是注册后跳转首页 @@@login()方法介绍 我来写代码实现, 功能由django提供1. 用户登入本质:• 状态保持• 将通过认证的用户的唯一标识信息(比如:用户ID)写入到当前浏览器的 cookie 和服务端的 session 中。2. login()方法:• Django用

2021-02-12 19:55:08 353 1

原创 Django全栈开发_billshop 商城项目 _3 注册功能的具体实现 (后续有图形和验证码功能) 【高能总结】

现在开始进入真正功能的开发和实现1. 用户注册显然这个页面目前需要分析各种校验和验证以及正常的提示和报错信息。如鼠标失焦后,提示用户名已注册;密码不对,密码不符合规则; 密码加密图形验证码不正确等;(防止机器自动恶意注册)获取短信验证码后,1分钟的有效等等。(手机号的有效性以及防止人家恶意花光你的短信推送)所以,第一步是 form表单验证+接收+再验证----->数据保存到数据库。那么保存到数据库,站在python和Django后端的角度来看,肯定是通过ORM来做的。所以,首先需要有

2021-02-11 16:34:00 444 2

原创 Python Web全栈开发_Django商城项目 2 开始创建app、路由、数据库、注册页面相关功能1/2

要在pycharm的terminal中以命令形式做任何事情,必须时刻清醒地检查,虚拟环境的环境码必须和项目中的一致,也要和 pycharm中配置的虚拟环境一致。1. 开始创建应用, 即app 哦。## 要在pycharm的terminal中以命令形式做任何事情,必须时刻清醒地检查,虚拟环境的环境码必须和项目中的一致,也要和 pycharm中配置的虚拟环境一致。@@ 在pycharm的terminal中可以ipip list 一下,看看这些和你 在cmder中的虚拟(环境码)(以及它下面的pip lis

2021-02-07 21:58:41 585 7

原创 Django 项目第一篇__创建一个类似电商商城的平台_环境、配置、思想、方法等等(后续可能不断将项目上马一步步更新博文)

安装和环境配置。python3.6.4 需要安装注意,并且指定 环境变量 path中配置。cmd中pip install pipenv进入新建的项目目录 pipenv shell 安装虚拟环境pip install django==2.2创建项目 django-admin startproject ***...

2021-02-01 12:02:16 540 2

原创 Django Twelve 文件上传、上下文处理器

save2.文件上传数据库中,存的是图片的路径和地址,然后访问时,前端从地址里找出来显示创建年月日, 分类管理存储 图片功能硬性规定session和cookie:https://www.cnblogs.com/sss4/p/7071334.html上下文处理器static 可以大大提高页面处理和页面静态化举例使用csrf...

2021-01-13 22:12:45 145

原创 Django Eleven 错误处理、Form、ModelForm

1.错误处理首先在setting中,Debug=True 改成 False然后加上hosts IP而在urls中而已直接设置2. 表单提交表单注意,要在 setting中, 注释掉csrf,否则要你携带csrf验证

2021-01-13 19:11:12 227

原创 Django DayTen 视图高级 :HttpRequest对象、HttpResponse对象、类视图

1. HttpRequest对象Django 和flask 的get 和post 请求 不同。导入 模块 require_http_methods,或导入简便方法require_GET,require_POST注意,用post 请求时, setting中的这一行要注释掉,不然会阻挡请求。重定向200 写数据提交成功302 重定向类型404 页面访问错误类405 不允许访问(请求方式不对,不允许)500系列服务器错误Django中, get和post方法 都是方法后面

2021-01-10 14:07:20 148

原创 Django dayEight 数据库操作 、 QuerySet、ORM 迁移命令

1.QuerySet API我们通常做查询操作的时候,都是通过模型名字.objects的⽅式进⾏操作。其实模型名字.objects是⼀个django.db.models.manager.Manager对象,⽽Manager这个类是⼀个“空壳”的类,他本身是没有任何的属性和⽅法的。他的⽅法全部都是通过Python动态添加的⽅式,从QuerySet类中拷⻉过来的所以我们如果想要学习ORM模型的查找操作,⾸先要学会QuerySet上的⼀些API的使⽤。QuerySet的⽅法在使⽤QuerySet

2021-01-06 22:13:14 186

原创 Django 时间查询、avg、acount、cum、F查询、Q查询

0. 回顾上次的问题,on_delete 不需要重新修改或重复操作数据库就可以执行到结果![在这里插入图片描述](https://img-blog.csdnimg.cn/20210104201215221.png?x-oss-process=image/watermark,type_ZmFuZ3poZW5naGVpdGk,shadow_10,text_aHR0cHM6Ly9ibG9nLmNzZG4ubmV0L0JpbGxfODI=,size_16,color_FFFFFF,t_71.数据库时间查询跟

2021-01-04 22:36:02 549

原创 Django Dayseven 自关联表格的建立、查询、比较运算、range

1. 外键的创建其他方式等。自关联表格的建立上一次说的是在同一个app中应用外键,而如果跨app使用外键呢?举例新建users app与news app 关联外键setting中注册app然后cmd中迁移python manage.py makemigrations然后 python manage.py migrate在一个工作表中,电商的省市区三级对应以百度贴吧的评论和追加评论作为关联举例:在news app 的models.py中编写 创建Comment 类添加第一条数据在n

2020-12-30 22:18:29 314

原创 DjangoDaysix 数据库、模型常用属性、模型中的Meta配置、外键

数据库1.模型常用属性CharField在数据库层⾯是varchar类型。在Python层⾯就是普通的字符串。这个类型在使⽤的时候必须要指定最⼤的⻓度,也即必须要传递max_length这个关键字参数进去。最⼤⻓度计算:https://www.cnblogs.com/canger/p/9850727.html...

2020-12-29 11:45:28 179

原创 Django dayfive 数据库mysqlclient、ORM、数据库操作

0. 加载静态图片, 需要在setting中先配置方法。补充1. 数据库1. 安装数据库安装数据库2. 配置数据库flask中是在config文件中配置。而django有专门的设置文件,写进去即可。端口号默认3306,这些全部设置一下继续用到flask的, PHPstudy虚拟环境和 SQLyog可视化工具2. ORMORM,全称Object Relational Mapping,中⽂叫做对象关系映射,通过ORM我们可以通过类的⽅式去操作数据库,⽽不⽤再写原⽣的SQL语句

2020-12-29 11:45:01 276

原创 Django dayfour 模板续集

1. 紧跟上一篇 Django 模板实例views中编写方法调用编写HTML现在能调用和前端显示了? 不能啊, 因为setting中未设置路径, 按照下方设置, 具体也可以参见上一篇的两个方法。继续按照设计 定义其他views中模板调用,展示硬编码:而应该采用,用 url 标签传递名称,其中book 是app名而已但是会有报错信息哦:怎么解决如下图错误:这是命名错误解决办法在urls中,先更改命名:在views中,更改成news_list 方法名i

2020-12-29 11:41:42 141

原创 Django daythree URLS 后续以及模板DTL等

urls的最后一些知识正则匹配, re_path有时候我们在写url匹配的时候,想要写使⽤正则表达式来实现⼀些复杂的需求,那么这时候我们可以使⽤re_path来实现。re_path的参数和path参数⼀模⼀样,只不过第⼀个参数也就是route参数可以为⼀个正则表达式。1. 模板模板介绍模板变量常⽤标签模版常⽤过滤器模版结构优化加载静态⽂件1)模板介绍在之前的章节中,视图函数只是直接返回⽂本,⽽在实际⽣产环境中其实很少这样⽤,因为实际的⻚⾯⼤多是带有样式的HTML代码,这可以让浏

2020-12-23 12:21:23 202

原创 Django daytwo URL和视图

创建daytwo 文件夹用Django-admin startproject django_url 建立 daytwo下的django_url 项目子目录,创建book app1. url 构造和映射views中定义book 视图函数,并定义唯一的request 参数,上方导入HttpResponseurls中写了配置路由打开manage 配置runserver 并运行看看方法二、 通过 bool_detail 类似这样的方式get1)在views中定义 book_detail ,

2020-12-21 17:01:05 125

原创 Django 第一篇 和 它的初体验_安装和环境配置以及启动方式、注意事项和初建项目体验

一、虚拟环境的创建1. 先创建Django 目录 和 Envs 目录(这是配置虚拟环境的)2. 在Pycharm中打开项目 first_Django3. 进入cmd ,进入first_Django ,然后pip install pipenv 安装虚拟环境4. 创建虚拟环境pipenv shell下次再进入这个虚拟环境时,需要进入该文件夹,否则又会新建。5. 到pycharm中选择已经创建好的虚拟环境选中项目,-- File --setting–project Interpreter

2020-12-20 16:42:50 243

原创 session 、线程、Restful API 规范

1. session 和 cookiecookie已经讲过了。session 把secret key 加密了。session 把secret key 加密了。以下介绍不写死密钥,随机生成密钥。通过os 模块 os.urandom()看看时间session的密钥的创建和到期时间,到哪里设置呢默认一个月那么设置2周到期密钥如下:要导入时间模块 timedelta2. 线程current app常用钩子函数3. Restful API 规范...

2020-11-09 22:16:06 189

原创 20201102 flask 中 :数据库 一对一 多对多、数据库排序、数据库查询

题外话. MVT1. 今天延续讲讲数据库关系表 一对一有了 userlist=false 就形成了一对一了2. 多对多的关系一般不会直接创建多对多,先要在最上方创建库 Table然后定义创建中间表接下来,把两个表格单独创建一下此时并未产生关系, 所以要继续定义关系。通过backref 反转到另一个表,同时用secondary=teacher_classes 进行关联append 添加了这两条数据执行添加到数据库也可以通过查询来验证下3. 数据库排序通过默认和

2020-11-02 22:34:02 293

原创 2020-11-01 Flask 数据库过滤条件、flask数据库模型建立外键关系、flask外键约束、flask 数据库表关系 - 一对多

1. Flask 数据库过滤条件 eq not eq like in not in and or is null is not nullin 和not in 还有用法, 在前面加上~,表示一次否定,即 ~ user.title.not in_ 表示双重否定,即=in注意, Null 没有占数据库表格中的位置,而none 为空,相当于空的字符串,是占用了表格

2020-11-01 12:03:59 395

原创 SQLAlchemy -orm、Flask数据库的增删改查、sqlalchemy 常用数据类型、 column常用参数和聚合函数

SQLAlchemy -orm使用orm创建表格连接数据库创建Base基类创建类,添加属性,添加数据类型约束创建session添加创建实例添加数据添加数据到数据库提交数据Flask数据库的增删改查def add_data():user = User(添加属性的数据)session.add(user)sesssion.commit()def search_data():data = session.query(Usre).filter(条件判断).all()print(da

2020-10-29 21:44:02 308

原创 基于调度方法的视图、flask蓝图的基本使用、flask蓝图寻找模板、flask蓝图中寻找静态文件、url_for、flask 实现子域名、数据库和使用初步介绍(后续配套调用)

1. 基于调度方法的视图2. flask蓝图的基本使用之前我们写的url和视图函数都处在同一文件,如果项目比较大,这显然不是合理的结构,而蓝图可以优雅的帮助我们实现这个需求Blueprint3. flask蓝图寻找模板4. flask蓝图中寻找静态文件5. url_forflask 实现子域名...

2020-10-28 10:59:05 347 1

原创 Flask : jinjia2模板过滤器、if_for()、宏和import

题外话: ctrl + 左键 可以查看方法或函数等具体内容和用法1. jinjia2模板过滤器自动转义关闭弹窗safe 也可以关闭转义后端记得写好ctrl+s 保存网页前端F5 刷新运行length运行结果是6, 因为python 长度是6下面如果是字典呢,字典key value 是一项,键值对哦!以下是把弹窗注释掉replacetruncate 截取了hallo world 5个长度,作用,如同微博,省略一些内容,用…表达stri

2020-10-27 14:50:58 470

原创 flask 豆瓣案例项目、标准呢类视图、标准类视图的使用

ctrl +shift+r 在运行前端网页时,很可能端口被之前的占用,用此组合来清一下端口占用。宏调用block 的使用它还能在内部进行更改类视图之前,我们接触的视图都是函数,所以一般简称视图函数。其实视图也可以基于类来实现,类视图的好处是支持继承,但是类视图不能跟函数视图一样,,写完类视图含需要通过app.add_url_rule(url_rule,view_func)来进行注册。...

2020-10-27 14:49:43 139

原创 Flask :构造URL(url for)、指定URL末尾的斜杠、指定HTTP方法、页面跳转和重定向、关于响应(Reponse)、flask模板渲染和模板传参

1.构造URL(url for)这部分还是属于url和视图 知识点范围。URL for 知识点的由来前一篇我们了解了,路由映射到函数,返回函数值。那么我们是否可以通过函数,反推路由,来获得url呢?这就是这个知识的背景应用。2.指定URL末尾的斜杠3.指定HTTP方法4. 页面跳转和重定向5.关于响应(Reponse)...

2020-10-13 17:44:38 961 1

原创 Flask框架的: 简介、虚拟环境、配置文件、flask第一个程序样例、URL 和视图

第一节//题外话:创建Pycharm 虚拟环境有没有考虑过一个问题,当我们pip install 加载模块时,这些模块究竟被下载到哪里了。这关系到使用和报错。首先,打开pycharm – file – setting – project – project interpreter点击右侧上方的add我们可以看到一共有两个关键地点:1. 虚拟环境virtualenv Environment 2. System Interpreter其实所有的都是加载到 Syst

2020-10-12 16:33:08 930 3

原创 web全栈开发前导_ 完整一个Git 项目管理和创建工作流、GitHub

插曲:在windows下也安装一下 Git2. Git管理文件步骤新建一个项目用Git 管理故事开撕了!!!!!!!红色文件是新建的。用git add 文件变绿了,被管理起来了版本控制,。设置位v2版本让Git知道你是谁,只要设置一次,就可以查到了。不需要再设置。故事继续–拓展新功能_短视频新增文件、重命名新增个文件管理它git addgit commit修改文件名字,用mv也行它的步骤是现删除,提交之后变绿文件名,就rename了,然后去生成

2020-09-09 22:17:51 274

原创 基数统计算法 HyperLogLog、布隆过滤器、缓存雪崩 、缓存穿透、内存淘汰策略、redis性能测试、redis 慢查询、哨兵、Git

1.基数统计算法 HyperLogLog不重复的统计哦开启并查看服务器(shutdown 关机 、 exit 退出服务器)role 命令查看自己得角色端口连接:找到主机角色,才可以写入哦它只有三个命令:三个命令实例:都去重的哦2. 布隆过滤器 (需要以模块方式引入哦! 首先用git 下载)安装启动连接一下:bf 一下验证import成功命令如下:实例添加 bfbf madd 一次添加多个一次判断多个是否存在**bf.r

2020-09-07 22:19:22 388

原创 web 全栈 项目前导 redis 和redis 安装, redis 操作和五大数据类型部分

Redis介绍安装sudo apt-get install redis sever其他的源码安装很容易出问题,不考虑了。gcc 是编译器2.redis常用五大数据类型这是最重要的redis 知识点注意set 第二个参数,也只是覆盖,因为键值配对,append 是添加redis中命令返回1 代表执行成功,0为失败删除redis中null 是nil怎么要使失效呢? 用expire60秒后失效,但必须先要存在用一句话合并设置和失效语句组合如下:用KEYS * 验证

2020-09-06 09:22:22 147

原创 web全栈_python高阶编程_虚拟机、linux、ubuntu及其操作指令

20200824高级编程_1. 操作系统操作系统直接运行在计算机上的系统软件,它是控制硬件和支持软件运行的计算机程序。操作系统的作用是:向下控制硬件向上支持软件的运行,具体是承上启下。只有安装了操作系统的计算机才能正常工作。2.虚拟机软件关系图:在虚拟机里的光标要出来,请按住 ctrl + altlinux 中只有一个根目录 注意哦。安装UBUNTU别超过物理机的配置核数内存至少1G,一般软件安装会推荐,我们根据推荐走。网络,选择桥接 就是跟本机IP

2020-08-24 22:19:47 251

原创 python_异常和处理、文件的各种操作

1.异常程序在运行过程中不可避免出现的错误。比如直接print(abc),哈哈哈比如引用了没有赋值的变量和超出索引…这些错误我们称之为“异常”程序一旦出现异常,会导致程序立即终止!!! 异常后面的代码都不会执行@@@ 处理异常出现异常程序停止,是希望我们编写相应的代码对异常进行处理。以下组合处理手段可以用(try except else),我的老师告诉我说,这叫“试婚哦”!啊哈哈哈。这里的else 是不出错也会执行的,跟if …else 的else不同哦。运行结果,h

2020-08-05 22:08:56 353

原创 python基础_类属性、类方法、实例方法、面向对象的模块、模块的使用、列表推导式

1.类属性,实例方法和类方法上方都是实例方法,能访问能运行。那么类方法究竟是什么样子呢?只要有个类方法装饰器即可。总结:实例方法 参数是 self;类方法,参数是cls类方法可以通过类调用,也可以通过实例调用,实质上没有区别只是类对象要传递参数来指定哦。.静态方法静态方法不需要传递参数,所以self参数自动变暗了。2.面向对象的模块将大模块哦,不是random这种自带小模块。模块化:就是将完整功能分解为一个个小模块,通过模块组合来搭建出完整程序优点:1.方便开发和维

2020-08-03 22:17:09 324

原创 python 基础_继承的简介、方法的重写、super()、多重父类、多态

1.继承的简介发现每个类的共同属性?单独搞一个类,存共性,让各类产生关系? 这个关系就是继承好处:1.让类之间产生了关系,有了这关系,才有了多态的特性。2.提高了代码的复用性。**继承 是 面向对象的三大特性之一,我们使用继承可以获取另一个类的属性和方法**@@@ 在定义类的时候,可以在类名的括号中指定当前类的父类(或超类、基类)创建对象后,类就具体了,继承的使用#定义一个动物类class Animal: def run(self): print('动物会

2020-07-31 22:10:38 459

原创 python 基础_ 类的特殊方法、封装二方法、Property 装饰器

1.类的特殊方法class Person:name=“葫芦娃”def speak(self):print(‘大家好,我是%s’%self.name)P1 =Person()P2 =Person()P1.speak()P2.speak()手动向对象中添加属性在类中有一些特殊的方法(魔术方法)特殊方法都是以_开头_结尾的方法特殊方法不需要我们自己调用特殊方法会在特殊的时候自己调用凡是双下划线开头的都是特殊方法1.特殊方法什么时候调用1.特殊方法有什么作用可以看出,在

2020-07-29 22:14:54 188

原创 python基础_对象、类

1.面对对象简介id是每个对象的唯一身份证,哪怕是双胞胎数据。2.类的简介 Class**类,简单理解就相当于一张图纸,在程序中,我们需要根据类来创建对象如果多个对象是通过一个类创建的,我们就称这些对象是一类对象。如 int() float() bool() str()pass是程序块运行在主文件中的类叫做myclssisinstance()用来检查一个对象是否是一个类的实例,返回值是bool如果写了int ,则运行肯定是false 的结果,因为不是int类哦

2020-07-27 22:14:57 170

空空如也

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除