django
清风丶无极
这个作者很懒,什么都没留下…
展开
-
uwsgi+nginx部署问题解决
1.常见排查方法1.nginx错误启动抱错systemctl restart nginxtail -f /var/log/nginx/error.log在浏览器中访问抱错tail -f /var/log/nginx/access.logcd /home/worker/opwf_project/uwsgi_conftail -f *2.配置文件2.端口占用冲突问题端口占用(syl) root@dev:uwsgi_conf# netstat -anptu | grep原创 2020-12-29 08:31:51 · 362 阅读 · 0 评论 -
Django + Uwsgi+Nginx 的生产环境部署
1.django的settings配置nginx负载均衡:https://www.cnblogs.com/xiaonq/p/10468998.htmlhttps://www.cnblogs.com/xiaonq/p/8932266.html# 1.修改配置# 正式上线关闭调试模式, 不会暴露服务器信息DEBUG = True# 2.允许的主机ALLOWED_HOSTS = ['xxx.com','127.0.0.1']# 3.前端修改接口地址(vue)http://192.168.56原创 2020-12-29 08:28:11 · 133 阅读 · 0 评论 -
Django---管理器Manager
管理器Managermodel模型可参考管理器是Django的模型进行数据库操作的接口,Django应用的每个模型类都拥有至少一个管理器。我们在通过模型类的objects属性提供的方法操作数据库时,即是在使用一个管理器对象objects。当没有为模型类定义管理器时,Django会为每一个模型类生成一个名为objects的管理器,它是models.Manager类的对象。自定义管理器我们可以自定义管理器,并应用到我们的模型类上。注意:一旦为模型类指明自定义的过滤器后,Django不再生成默认管理对原创 2020-12-19 16:44:02 · 360 阅读 · 1 评论 -
Django-ORM---查询集介绍
查询集 QuerySet1 概念Django的ORM中存在查询集的概念。查询集,也称查询结果集、QuerySet,表示从数据库中获取的对象集合。当调用如下过滤器方法时,Django会返回查询集(而不是简单的列表):all():返回所有数据。filter():返回满足条件的数据。exclude():返回满足条件之外的数据。order_by():对结果进行排序。对查询集可以再次调用过滤器进行过滤,如BookInfo.objects.filter(bread__gt=30).order_b原创 2020-12-19 16:40:25 · 148 阅读 · 1 评论 -
django--ORM聚合查询及关联查询
示例模型类from django.db import models#定义图书模型类BookInfoclass BookInfo(models.Model): btitle = models.CharField(max_length=20, verbose_name='名称') bpub_date = models.DateField(verbose_name='发布日期') bread = models.IntegerField(default=0, verbose_name原创 2020-12-19 16:36:08 · 191 阅读 · 1 评论 -
django自带模板使用及语法
1 配置在工程中创建模板目录templates。在settings.py配置文件中修改TEMPLATES配置项的DIRS值:TEMPLATES = [ { 'BACKEND': 'django.template.backends.django.DjangoTemplates', 'DIRS': [os.path.join(BASE_DIR, 'templates')], # 此处修改 'APP_DIRS': True, 'OPT原创 2020-12-18 17:18:02 · 153 阅读 · 1 评论 -
django中间件
中间件Django中的中间件是一个轻量级、底层的插件系统,可以介入Django的请求和响应处理过程,修改Django的输入或输出。中间件的设计为开发者提供了一种无侵入式的开发方式,增强了Django框架的健壮性。我们可以使用中间件,在Django处理视图的不同阶段对输入或输出进行干预。1 中间件的定义方法定义一个中间件工厂函数,然后返回一个可以被调用的中间件。中间件工厂函数需要接收一个可以调用的get_response对象。返回的中间件也是一个可以被调用的对象,并且像视图一样需要接收一个requ原创 2020-12-18 16:56:46 · 64 阅读 · 1 评论 -
Cookie 和 Session
一、CookieCookie,有时也用其复数形式Cookies,指某些网站为了辨别用户身份、进行session跟踪而储存在用户本地终端上的数据(通常经过加密)。Cookie最早是网景公司的前雇员Lou Montulli在1993年3月的发明。Cookie是由服务器端生成,发送给User-Agent(一般是浏览器),浏览器会将Cookie的key/value保存到某个目录下的文本文件内,下次请求同一网站时就发送该Cookie给服务器(前提是浏览器设置为启用cookie)。Cookie名称和值可以由服原创 2020-12-18 14:22:48 · 95 阅读 · 0 评论 -
请求与响应
一、请求request1. URL路径参数在定义路由URL时,可以使用正则表达式提取参数的方法从URL中获取请求参数,Django会将提取的参数直接传递到视图的传入参数中。未命名参数按定义顺序传递, 如url(r'^weather/([a-z]+)/(\d{4})/$', views.weather),def weather(request, city, year): print('city=%s' % city) print('year=%s' % year) re原创 2020-12-18 14:10:43 · 130 阅读 · 0 评论 -
JWT原理
1.COOKIE使用和优缺点https://www.cnblogs.com/xiaonq/p/11094480.html1.1 cookie原理:用户名+密码cookie是保存在用户浏览器端,用户名和密码等明文信息1.2 session使用原理session是存储在服务器端的一段字符串,相当于字典的key1.用户向服务器发送用户名和密码。2.验证服务器后,相关数据(如用户角色,登录时间等)将保存在当前会话中。3.服务器向用户返回session_id,session信息都会写原创 2020-12-18 08:14:54 · 129 阅读 · 0 评论 -
Django路径问题
1.django中的三种路径1.1 操作系统文件绝对路径django 静态文件查找, 模板查找(第一种)# 去配置好的 文件夹 中查找指定的文件BASE_DIR = os.path.dirname(os.path.dirname(os.path.abspath(__file__)))STATIC_URL = '/static/'# /teach/shiyanlou_project/syl/apps/user/ # linux# E:\_000\XSX1.2 django 导包路径(原创 2020-12-16 19:18:39 · 914 阅读 · 2 评论 -
初始化项目结构
1.初始化项目结构└─opwf_project # 项目根路径 │ .gitignore # 提交git仓库时,不提交的文件必须要在这里进行标注 │ README.en.md # 英文(项目介绍) │ README.md # 中文项目简介 │ requirements.txt # django项目安装文件 │ ├─celery_task原创 2020-12-16 15:55:55 · 82 阅读 · 0 评论 -
Django--支付宝(沙箱)
django中支付宝(沙箱)简单使用python=3.6.8django=2.1.8python-alipay-sdk=2.0.1非官方支付宝 Python SDK: https://github.com/fzlee/alipay/blob/master/README.zh-hans.md#alipay.trade.page.pay沙箱环境配置1、在支付宝开放平台---->开发者中心—>开发服务---->沙箱2、RSA2密钥生成并上传参考官方地址:https://o原创 2020-12-08 11:32:02 · 331 阅读 · 0 评论 -
权限管理 --- RBAC简单实现
1、RBAC模型RBAC模型(Role-Based Access Control:基于角色的访问控制)就是用户通过角色与权限进行关联简单的说,一个用户拥有若干角色,每个角色拥有若干权限这样,就构成了**“用户-角色-权限”**的授权模型在这种模型中,用户与角色之间,角色与权限之间,一般都是多对多关系2、表设计from django.db import modelsfrom django.contrib.auth.models import AbstractUserfrom utils原创 2020-12-04 20:07:32 · 701 阅读 · 0 评论 -
python-----------七牛云上传图片的简单实现
参考官方接口文档https://developer.qiniu.com/kodo/sdk/1242/python1、安装pip install qiniu2、准备工作注册账号登陆,个人中心获取Access Key 和 Secret Key创建对象存储空间进入空间获取测试域名3、使用python进行上传from qiniu import Auth, put_file# 获取Access Key 和 Secret Key 后,进行初始化对接:q = Auth(access_k.原创 2020-12-03 19:29:57 · 517 阅读 · 2 评论 -
django-celery-redis异步发邮件
Django-Celery-Redis异步发邮件python == 3.7.6django == 2.1.8celery == 4.4.7redis == 3.5.3eventlet == 0.26.1什么是celeryCelery是一个功能完备即插即用的任务队列。它使得我们不需要考虑复杂的问题,使用非常简单。celery适用异步处理问题,当发送邮件、或者文件上传, 图像处理等等一些比较耗时的操作,我们可将其异步执行,这样用户不需要等待很久,提高用户体验。 celery的特点是:简单,原创 2020-12-01 19:07:30 · 307 阅读 · 0 评论 -
图片验证码2
django 使用PIL生成验证码python=3.6.8django=2.1.8Pillow=7.0.0redis=3.3.1工具形式的验证码生成,并存入redisimport randomimport ioimport redisfrom PIL import ImageDraw, ImageFont, Imagefrom mysite.settings import BASE_DIRdef get_random_color(): """ 定义随机的字体颜色原创 2020-11-30 11:23:54 · 116 阅读 · 1 评论 -
redis使用---python中
一、介绍redis 是一个NoSQL, 以 key、value形式存在、是基于内存,读写速度快,可持久化二、数据类型string --- 字符串list --- 列表hash --- 哈希 =》排行set --- 集合sortedset --- 有序集合 =》商品列表bitmap --- 位图1、字符串 stringset(name, value) 创建数据redis_conn.set('username', 'zhangsan')get(name) 获取数据原创 2020-11-30 11:07:31 · 136 阅读 · 0 评论 -
Django--虚拟环境
虚拟环境为什么需要虚拟环境:到目前位置,我们所有的第三方包安装都是直接通过pip install xx的方式进行安装的,这样安装会将那个包安装到你的系统级的Python环境中。但是这样有一个问题,就是如果你现在用Django 1.18.x写了个网站,然后你的领导跟你说,之前有一个旧项目是用Django 2.1.x开发的,让你来维护,但是Django 1.18.x不再兼容Django 2.1.x的一些语法了。这时候就会碰到一个问题,我如何在我的电脑中同时拥有Django 1.18.x和Django 2.1原创 2020-11-26 16:39:11 · 375 阅读 · 0 评论 -
Git使用
git介绍git简介Git 是一个开源的分布式版本控制系统,用于敏捷高效地处理任何或小或大的项目。Git 是 Linus Torvalds 为了帮助管理 Linux 内核开发而开发的一个开放源码的版本控制软件。Git 与常用的版本控制工具 CVS, Subversion 等不同,它采用了分布式版本库的方式,不必服务器端软件支持。git与svn的区别Git 不仅仅是个版本控制系统,它也是个内容管理系统(CMS),工作管理系统等。如果你是一个具有使用 SVN 背景的人,你需要做一定的思想转换,来适原创 2020-11-26 11:26:31 · 392 阅读 · 0 评论 -
ModelViewSet和ModelSerializer的使⽤
ModelSerializer########serializers.py#########from rest_framework import serializersfrom demoapp import models as dm1modelclass UserSer(serializers.ModelSerializer): class Meta: #指定模型类 model = dm1model.User #指定序列化字段 fields = "__all__" #所有字段原创 2020-11-23 10:58:48 · 724 阅读 · 1 评论 -
视图说明
1. 两个基类1)APIViewrest_framework.views.APIViewAPIView是REST framework提供的所有视图的基类,继承自Django的View父类。APIView与View的不同之处在于:传入到视图方法中的是REST framework的Request对象,而不是Django的HttpRequeset对象;视图方法可以返回REST framework的Response对象,视图会为响应数据设置(render)符合前端要求的格式;任何APIExcep原创 2020-11-21 16:47:56 · 435 阅读 · 0 评论 -
DRF框架初步学习
参考https://www.cnblogs.com/xiaonq/p/10053234.htmlhttp://www.cnblogs.com/wupeiqi/articles/7805382.html一、什么是restful 1. REST与技术无关,代表的是一种软件架构风格(REST是Representational State Transfer的简称,中文翻译为“表征状态转移”) 2. REST从资源的角度类审视整个网络,它将分布在网络中某个节点的资源通过URL进行标识 3. 所有的数据.原创 2020-11-21 16:32:15 · 467 阅读 · 0 评论 -
web流程及http请求
实验楼项目学习 – 初了解1、web程序工作流程客户端发送http请求,到服务器程序服务器程序接收http报文,进行解析,转换成wsgi协议交给框架程序框架程序进行各种处理,通过wsgi协议返回给服务器程序服务器程序构造http响应报文,返回给客户端客户端接收响应展示页面2、django工作流程客户端发送请求-中间件-路由系统urls.py -视图函数view-获取数据-response-中间件-客户端获取数据3、HTTP请求三次握手和四次挥手三次握手建立tcp连接原创 2020-11-20 18:35:27 · 857 阅读 · 0 评论 -
Django--浏览器常见的请求
HTTP协议 (Hyper Text Transfer Protocol)HTTP是一个基于TCP/IP通信协议来传递数据,包括html文件、图像、结果等,即是一个客户端和服务器端请求和应答的标准。HTTP协议特点1.http无连接:限制每次连接只处理一个请求,服务端完成客户端的请求后,即断开连接。(传输速度快,减少不必要的连接,但也意味着每一次访问都要建立一次连接,效率降低)2.http无状态:对于事务处理没有记忆能力。每一次请求都是独立的,不记录客户端任何行为。(优点解放服务器,但可能每次请求会原创 2020-11-24 18:33:01 · 468 阅读 · 0 评论 -
django---多对多表增删改查
models.pyfrom django.db import modelsclass Role(models.Model): """ 角色表 """ role_name = models.CharField(max_length=32, unique=True) class Meta: db_table = "pp_role"class User(models.Model): """ 用户表 """ user原创 2020-11-24 15:20:41 · 957 阅读 · 0 评论 -
Django--ORM操作
Django模型之ORM操作ORM介绍什么是ORMORM 全拼Object-Relation Mapping.中文意为 对象-关系映射.在MVC/MVT设计模式中的Model模块中都包括ORMORM优势只需要面向对象编程, 不需要面向数据库编写代码.对数据库的操作都转化成对类属性和方法的操作.不用编写各种数据库的sql语句.实现了数据模型与数据库的解耦, 屏蔽了不同数据库操作上的差异.不在关注用的是mysql、oracle…等.通过简单的配置就可以轻松更换数据库, 而原创 2020-11-24 11:35:40 · 720 阅读 · 0 评论