自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

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

转载 Django - 项目部署

一、基础概念项目部署是指在软件开发完成后,将开发机器上运行的软件实际安装到服务器上进行长期运行在安装机器上安装和配置同版本的环境【py、数据库等】django项目迁移 sudo scp /home/tarena/django/mysite1 root@88.77.66.55:/home/root/xxx # 复制到指定ip目录 请输入root密码: # 输入root密码用uWSGI代替python3 manage.py runserver方法启动服务器配置nginx反向代理服务器

2021-05-30 17:04:57 390

转载 Django - 发送邮件

一、业务场景业务警告邮件验证密码找回二、邮件相关协议2.1. SMTPSMTP的全程是"Simple Mail Transfer Protocol",即简单邮件传输协议(25号端口)它是一组用于从源地址到目的地址传输邮件的规范,通过它来控制邮件的中转属于"推送"协议2.2. IMAPIMAP的全称是"Internet Message Access Protocol",即交互式邮件访问协议,是一个应用层协(143号端口)用来从本地邮件客户端(Outlook Express、Fo

2021-05-30 16:23:39 427

转载 Django - 文件上传

一、定义用户可以通过浏览器将图片等文件传至网站二、场景用户上传头像上传流程性的文档[pdf,txt等]三、上传规范 - 前端【HTML】文件上传必须为POST提交方式表单<form>中文件上传时必须有带有enctype = "multipart/formdata"时才会包含文件内容数据表单中用<input type="file" name="xxx">标签上传文件<!DOCTYPE html><html lang="en"><hea

2021-05-30 16:14:13 1481 1

转载 django-内建用户系统

一、定义Django带有一个用户认证系统。它处理用户账号、组、权限以及基于cookie的用户会话用户可以直接使用Django自带的用户表官方文档:https://docs.djangoproject.com/en/2.2/topics/auth/二、基本字段模型类位置 from django.contrib.auth.models import User字段含义username用户名password密码email邮箱first_name名las

2021-05-30 15:39:18 260

转载 Django -生成csv文件

一、定义逗号分隔值(Comma-Separated Values,CSV,有时也成为字符分隔值,因为分割字符也可以不是逗号),其文件以纯文本形式存储表格数据(数字和文本)说明:可被常见制表工具,如excel等直接进行读取二、python中生成csv文件Python提供了内建库 - csv;可直接通过该库操作csv文件案例如下:import csvwith open('eggs.csv', 'w', newline='') as csvfile: writer = csv.writer(

2021-05-30 15:28:19 152

转载 Django-分页

文章目录分页Paginator对象page对象实例分页分页是指在web页面有大量数据需要显示,为了方便在每个页面中只显部分数据Django中提供了Paginator类可以方便的实现分页功能from django.core.paginator import PaginatorPaginator对象paginator = Paginator(object_list,per_page)'''object_list : 需要分页数据对象列表per_page : 每页数据个数返回值 : Pag

2021-05-30 15:24:54 94

原创 Django-中间件

文章目录定义编写注册CSRF攻击csrf防范配置定义中间件是Django请求/响应处理的钩子框架。他是一个轻量级、低级的插件系统、用于全局改变Django的输入输出中间件一类的形式体现每个中间件组件负责做一些特定的功能编写中间件类需继承django.utile.deprecation.MiddlewareMixin类中间件须实现下列五个方法中的一个或多个:process_request(self, request)执行路由之前被调用,在每个请求上调用,返回None或HttpResp

2021-05-30 14:51:03 188 1

原创 Django-缓存

文章目录定义缓存设置数据库缓存内存缓存文件缓存Redis缓存Django中使用缓存整体缓存策略局部缓存策略浏览器缓存策略强缓存协商缓存定义缓存是一类可以更快的读取数据的介质统称,也指其它可以加快数据读取的存储方式。一般用来存储临时数据,常用介质是读取速度很快的内存视图的渲染有一定的成本,数据库的频繁查询过高;所以对于低频变动的页面可以考虑使用缓存技术,减少实际渲染次数;用户拿到的响应的时间成本会更低缓存设置数据库缓存虽然仍是数据库,但是当把一次查询的结果储存到表里,比如多个条件的过滤查询结果,可

2021-05-30 11:43:07 223

原创 Django-cookies和session

文章目录会话Cookies使用删除和使用sessionsession配置session的使用settint.py中的相关配置Django session的问题会话从打开浏览器访问一个网站,到关闭浏览器结束此次访问,称之为一次会话HTTP协议是无状态的,导致会话状态难以保护cookies和session就是为了保持会话状态而诞生的两个储存技术Cookiescookies是保存在客户端浏览器上的存储空间cookies在浏览器上是以键值对的形式进行存储的,键和值都是ASCII字符串的形式存储(

2021-05-29 17:15:27 121

原创 Django-关系映射

文章目录一对一的映射创建数据查询数据一对多的映射正向查询反向查询多对多创建数据一对一的映射语法:OneToOneField(类名,on_deletc = xxx)class A(model.Model): ...class B(model.Model): a = model.OneToOneField(A,on_deletc = xxx) # on_delete是级联删除 关联的是主键联删除必须设置 ### 级联删除 on_deletcmodel.CASCADF 级联删除,你删我就删

2021-05-29 16:11:53 146

原创 Django-admin后台管理

文章目录什么是admin管理后台admin配置注册自定义模型类模型管理类再谈Meta类什么是admin管理后台django 提供了比较完善的后台管理数据库的接口,可供开发过程中调用和测试使用Django会搜集所有以注册的模型类,为这些模型类提供数据管理界面,供开发者使用admin配置创建后台管理账户-该账号为管理后台最高权限账号(django) E:\django_学习\learn1>python manage.py createsuperuser用户名 (leave blank t

2021-05-29 15:09:53 244

原创 Django-聚合查询和原生数据库操作

文章目录聚合查询整表整合分组聚合原生数据库操作查询游标cursor聚合查询整表整合聚合函数(需要导入):导入方法: from django.db.models import *聚合函数: Sum, Avg, Count, Max ,Min语法: mymodel.objects.aggregate(结果变量名=聚合函数(‘列’))返回结果:结果变量名和值组成的字典,格式:{‘结果变量名’:值}>>> from bookstore.models import B

2021-05-29 14:14:16 131

原创 Django-F对象个Q对象

文章目录F对象Q对象F对象一个F对象代表数据库中某条记录的字段的信息作用:同城用做数据库中的字段值再补货区的情况下进行操作用于类属性(字段)之间的比较语法from django.db.models import FF('列名')场景# 例1:我们有个统计点击量的字段,每次更新的操作其实就是把字段的值加1.# 一般我们的做法是把这条记录取出来,把相应字段加+1,然后在save,类似下面的代码:reporter = Reporters.objects.get(name='Tin

2021-05-29 11:55:46 174 1

原创 Django-ORM增删改查

文章目录

2021-05-29 11:38:38 6619 1

原创 Django-模型

文章目录什么是模型ORM框架定义作用优点缺点代码示例数据库迁移什么是模型模型是一个python类它是由django.db.models.Model派生出的子类一个模型代表数据库中的一张表模型类的每一个属性都代表数据库中的一个字段模型是数据交互的接口,是表示和操作数据库的方法和方式ORM框架定义ORM(Object Relational Mapping)即对象关系映射,它是一种程序技术,它允许你使用类和对象对数据库进行操作,从而避免通过SQL语句操作数据库作用建立模型类和表之间的关系

2021-05-29 09:53:27 68

原创 Django-应用与分布式路由

文章目录应用创建应用分布式路由配置分布式路由应用下的模板应用应用在Django项目中是一个独立的业务模块,可以包含在自己的路由,视图,模板,模型创建应用用manger.py中的子命令startapp创建应用文件夹python manger.py startapp music在settings.py中的 INSTALLED_APPS列表中配置安装此应用INSTALLED_APPS = ['django.contrib.admin','django.contrib.auth','django

2021-05-29 09:39:01 218

原创 Django-静态文件

文章目录静态文件配置静态文件配置配置静态文件的访问路径(该配置默认存在)通过哪个URL地址找静态文件STATICE_URL = ‘/static/’说明:指定访问静态文件时是需要通过/static/xxx/访问配置静态文件的存储路径STATICFILES_DIRSSTATICFILES_DIRS保存的是静态文件在服务器端的存储位置 # file:settings.py STATICFILES_DIRS = [ Path.joinpath(BASE_DIR, 's

2021-05-29 09:22:27 78

原创 Django-ORM基础字段和选项

文章目录基础字段字段选项Meta类基础字段BooleanField()数据库类型:tinyint(1)编程语言中:使用True和False来表示在数据库中:使用1和0来表示CharField()数据库类型:varchar注意:必须指定max_length参数值DateField()数据库类型:date作用:表示日期参数:* auto_now:每次保存对象时,自动设置改字段为当前时间(取值True/False)* auto_now_add:当对象第一次被创建时自动设

2021-05-28 21:22:54 285

原创 Django-URL反向解析

文章目录代码中URL书写规范url反向解析模板中视图中代码中URL出现位置模板【HTML中】< a>超链接中< form >表单中视图函数中302跳转 HttpResponseRedirect(‘url’)书写规范绝对地址 hhttp://127.0.0.1:8000/page/1/相对地址‘/page/1’ - '/'开头的相对地址,浏览器会根据地址栏协议,ip,端口,加这个地址访问例如当前为:http://127.0.0.1:8000/pag

2021-05-28 16:49:52 143

原创 Django模板层和变量

文章目录模板模板配置模板的加载方法视图层与模板层之间的交互模板的变量模板模板是可以根据字典数据动态变化的HTML网页模板可以根据视图中传递的字典数据动态生成响应的HTML页面模板配置创建模板文件夹<项目名>/templates在settings.py中templates配置项1. BACKEND:指定模板的引擎2. DIRS:模板的搜索目录3. APP_DIRS:是否要在应用中的templates文件夹中搜索模板文件4. OPPTIONS:有关模板的选项配置项中需要

2021-05-28 16:04:34 116

原创 Django - GET和POST

文章目录GETGET方法POSTPOST方法GET请求格式:在请求地址结尾使用?,之后以"键=值"的格式拼接,多个键值对之间以&连接。在Django中可以使用HttpRequest对象的GET属性获得get方方式请求的参数。GET属性是一个QueryDict类型的对象,键和值都是字符串类型。键是开发人员在编写代码时确定下来的。值是根据数据生成的。GET方法网址实例test?a=100&b=100&b=200&b=300request.GET['参数名']r

2021-05-28 13:53:03 368

原创 Django-请求和响应

文章目录请求请求的方法HttpRequest对象响应状态码响应对象HttpRequest子类请求请求的方法序号方法描述1GET请求指定的页面信息,并返回实体主体2HEAD类似于get请求,只不过返回的响应中没有具体的内容,用于获取报头3POST向指定资源提交数据进行处理请求(例如提交表单)。数据被包含在请求体中。POST请求可能导致新的资源的建立和/或已有资源的修改4PUT从客户端向服务器传送的数据取代指定文档的内容5DELETE请求服

2021-05-28 13:38:42 124

原创 Django-视图和URL

文章目录视图1.定义视图2.配置URLconf3.处理URL情求4. path转换器视图后台管理页面做好了,接下来就要做公共访问的页面了。当我们刚刚在浏览器中输入 http://127.0.0.1:8000/admin/ 之后,浏览器显示出了后台管理的登录页面,那有没有同学想过这个服务器是怎么给我们找到这个页面并返回呢?/admin/是我们想要请求的页面,服务器在收到这个请求之后,就一定对应着一个处理动作,这个处理动作就是帮我们产生页面内容并返回回来,这个过程是由视图来做的。对于django的设计框架

2021-05-27 11:53:45 293 1

原创 Django初识

文章目录MVC框架MVC简介Web MVC框架模块功能Django框架简介MVT各部分功能项目创建创建Django项目创建Django应用应用注册settings.py的配置项MVC框架MVC简介MVC最初是由施乐公司旗下的帕罗奥多研究中心中的一位研究人员给 smalltalk语言发明的一中软件设计模式。MVC的产生理念: 分工。让专门的人去做专门的事。MVC的核心思想: 解耦。MVC的思想被应用在的web开发的方面,产生了web MVC框架。Web MVC框架模块功能通过浏览器注册用户信

2021-05-27 09:49:36 76

原创 多任务全局共享变量问题

文章目录共享全局变量共享全局变量引起资源竞争解决方法-互斥锁互斥锁造成死锁问题说明:函数中全局变量加global,改变内存地址的时候需加global,如果修改了全局变量的内存地址改变了,必须使用global,如果仅仅修改了原来内存空间中的数据,此时不用必须使用global数字,字符串,元组不可变,必须加global共享全局变量import threadingimport timeg_num = 100def test1(temp): global g_num g_

2021-04-16 11:09:04 820

原创 继承Thread类创建线程

文章目录通过上一小节,能够看出,通过使用threading模块能完成多任务的程序开发,为了让每个线程的封装性更完美,所以使用threading模块时,往往会定义一个新的子类class,只要继承threading.Thread就可以了,然后重写run方法示例如下:import threadingimport timeclass MyThread(threading.Thread): def run(self): for i in range(3):

2021-04-16 10:54:12 209

转载 多任务

文章目录多任务介绍多任务介绍现实生活中有很多的场景中的事情是同时进行的,比如开车的时候 手和脚共同来驾驶汽车,再比如唱歌跳舞也是同时进行的;试想,如果把唱歌和跳舞这2件事情分开依次完成的话,估计就没有那么好的效果了(想一下场景:先唱歌,然后在跳舞,O(∩_∩)O哈哈~)程序中如下程序,来模拟“唱歌跳舞”这件事情from time import sleepdef sing(): for i in range(3): print("正在唱歌...%d"%i)

2021-04-08 14:09:59 51

原创 多任务-线程

文章目录使用threading模块查看线程数量使用threading模块python的thread模块是比较底层的模块,python的threading模块是对thread做了一些包装的,可以更加方便的被使用import time import threadingdef miao(): """喵喵 5秒钟""" for i in range(5): print("---喵喵喵---") time.sleep(1)def wang():

2021-04-08 14:06:33 60

原创 python虚拟环境

文章目录概念安装和配置使用概念之前安装python包的命令: sudo pip3 install 包名包的安装路径:/usr/local/lib/python3.5/dist-packages在同一个python环境中安装同一个包的不同版本,后安装的包会把原来安装的包覆盖掉。这样,如果同一台机器上两个项目依赖于相同包的不同版本,则会导致一些项目运行失败。解决的方案就是:虚拟环境。虚拟环境是真实python环境的复制版本。在虚拟环境中使用的python是复制的python,安装python包也

2021-04-08 10:56:46 214

原创 Redis数据操作

文章目录数据结构键命令数据结构redis是key-value的数据结构,每条数据都是⼀个键值对键的类型是字符串注意:键不能重复值的类型分为五种:字符串string哈希hash列表list集合set有序集合zset键命令查找键,参数⽀持正则表达式keys patter查看所有键127.0.0.1:6379> keys *1) "user"2) "name"3) "a3"4) "user2"5) "a1"6) "a4"7) "a2"查看名字

2021-04-05 14:29:12 62

转载 Redis简介

文章目录一、nosql介绍NoSQL特点:NoSQL和SQL数据库的比较:二、Redis介绍Redis简介Redis特性Redis 优势redis应用场景推荐阅读一、nosql介绍NoSQL特点:NoSQL:一类新出现的数据库(not only sql),它的特点:不支持SQL语法存储结构跟传统关系型数据库中的那种关系表完全不同,nosql中存储的数据都是KV形式NoSQL的世界中没有一种通用的语言,每种nosql数据库都有自己的api和语法,以及擅长的业务场景NoSQL中的产品种类相当多:

2021-04-02 16:19:46 57

转载 【python】打基础一定要吃透这 5 个内置函数

文章目录1、zip2、filter3、enumerate4、reversed4.1 reverse5、eval1、zip首先,我们先来学习一个非常强大的内置函数: zip。通过一个例子来引出 zip的使用:需求:如果我们想对两个列表对应位置上的数字一一求和,该如何操作?x = [1,2,3]y = [4,5,6]for循环实现zip实现具体实现过程:查看使用文档help(zip)zip接受一个序列空序列接受列表、元组、集合、字符串zip接受多个序列接

2020-11-08 22:23:27 72

转载 【python】面向对象(下)

文章目录进阶专题1 创建抽象方法2 检查属性取值3 给类添加属性4 控制随意添加属性5 链式调用进阶专题1 创建抽象方法上篇讲解多态部分,定义了基类模块animals2.py,它里面有一个方法getSpeedBehavior,然后2个继承类中分别重写了此方法。虽然这种模式并不会报错,但却不是最佳编程写法。class Animal(): cprop = "我是类上的属性cprop" def __init__(self,name,speed): self.name =

2020-11-08 15:14:18 89

转载 【Python】面向对象(上)

文章目录Python 面向对象编程基础专题1 类定义2 实例3 打印实例4 属性5 private,protected,public6 继承7 多态Python 面向对象编程面向对象程序设计思想,首先思考的不是程序执行流程,它的核心是抽象出一个对象,然后构思此对象包括的数据,以及操作数据的行为方法。本专题主要讨论面向对象编程(OOP)的基础和进阶知识,实际开发模型中OOP的主要实践,尽量使用最贴切的例子。基础专题1 类定义动物是自然界一个庞大的群体,以建模动物类为主要案例论述OOP编程。Pyt

2020-11-08 15:05:32 184

转载 【Python】函数

文章目录Python 函数专题基础部分1 函数组成2 引用传参3 默认参数与关键字参数4 可变参数5 内置函数进阶部分6 偏函数7 递归函数8 匿名函数9 高阶函数10 嵌套函数Python 函数专题函数是一个接受输入、进行特定计算并产生输出的语句集。我们把一些经常或反复被使用的任务放在一起,创建一个函数,而不是为不同的输入反复编写相同的代码。Python提供了print、sorted、max、map等内置函数,但我们也可以创建自己的函数,称为用户定义函数。基础部分1 函数组成如下自定义函数:

2020-11-08 14:49:16 145

转载 【Python】编程风格指南

编程风格指南专题目录基本编程习惯1.1 多余的空格1.2 是否为 None 判断1.3 lamda 表达式1.4 最小化受保护代码1.5 保持逻辑完整性1.6 使用语义更加明确的方法EAFP 防御编程风格LBYL 防御编程风格3.1 程序每次运行都要检查3.2 很难一次考虑所有可能异常3.3 代码的可读性下降基本编程习惯Python代码的编程习惯主要参考PEP8:https://www.python.org/dev/peps/pep-0008/里面主要包括如每行代码长度不超过80,函数间空一行等。在

2020-11-08 14:21:59 134

转载 【Python】流程控制

流程控制专题目录基础用法1 if 用法2 for 用法3 while,break,continue进阶用法4 for 使用注意5 range 序列6 Python特色:循环与else6.1 for能和else组对6.2 try,except 和 else 组对7 pass 与接口8 return 和 yield9 短路原则基础用法专题的开始,先总结与流程控制相关的基础用法。1 if 用法if 对应逻辑控制的条件语句,它的基本结构可以表示为:如果满足某个条件,则怎么怎么样。如下函数maxChunks

2020-11-08 13:43:03 148

转载 【Python】列表专题

列表专题的目录列表基础1 创建列表2 访问元素3 添加元素4 删除元素6 list 与数字列表进阶8 其他常用API9 列表实现栈10 列表包含自身11 插入元素性能分析12 深浅拷贝13 列表可变性列表基础1 创建列表列表是一个容器,使用一对中括号[]创建一个列表。创建一个空列表:a = [] # 空列表创建一个含有 5 个整型元素的列表a:a = [3,7,4,2,6]列表与我们熟知的数组很相似,但又有很大区别。一般数组内的元素要求同一类型,但是列表内可含有各种不同类型,包括再嵌套

2020-11-04 16:57:34 134

转载 【python】字符串

这篇是字符串专题总结除了常见的数值型,字符串是另一种常遇到的类型。一般使用一对单引号或一对双引号表示一个字符串。字符串中如果遇到 \ 字符,可能是在做字符转义,所谓的转义便是字符的含义发生改变,比如常用的\n 组合,转义后不再表示字符n本身,而是完成换行的功能。类似的,还有很多转义字符,如 \t, 正则表达式中 \s,\d等等。接下来一一总结字符串常见用法,此专题展开的思维导图如下:...

2020-11-04 16:37:39 1189 1

原创 Flask部署

  当我们执行下面的hello.py时,使用的flask自带的服务器,完成了web服务的启动。在生产环境中,flask自带的服务器,无法满足性能要求,我们这里采用Gunicorn做wsgi容器,来部署flask程序。Gunicorn(绿色独角兽)是一个Python WSGI的HTTP服务器。从Ruby的独角兽(Unicorn )项目移植。该Gunicorn服务器与各种Web框架兼容,实现非常简单,轻量级的资源消耗。Gunicorn直接用命令启动,不需要编写配置文件,相对uWSGI要容易很多。区分几个概念:

2020-10-26 19:47:58 4896

空空如也

空空如也

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

TA关注的人

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