03 2021 档案
摘要:address = Address.objects.create( user=request.user, title = receiver, receiver = receiver, province_id = province_id, city_id = city_id, district_id
阅读全文
摘要:1. 定义用户地址模型类 1.用户地址模型类 class Address(BaseModel): """用户地址""" user = models.ForeignKey(User, on_delete=models.CASCADE, related_name='addresses', verbose
阅读全文
摘要:1.缓存工具 from django.core.cache import cache 存储缓存数据:cache.set('key', 内容, 有效期) 读取缓存数据:cache.get('key') 删除缓存数据:cache.delete('key') 注意:存储进去和读取出来的数据类型相同,所以读
阅读全文
摘要:itsdangerous的使用 itsdangerous模块的参考资料链接 http://itsdangerous.readthedocs.io/en/latest/ 安装:pip install itsdangerous TimedJSONWebSignatureSerializer的使用 使用T
阅读全文
摘要:为了给项目中模型类补充数据创建时间和更新时间两个字段,我们需要定义模型类基类。 在meiduo_mall.utils/models.py文件中创建模型类基类。 from django.db import models class BaseModel(models.Model): """为模型类补充字
阅读全文
摘要:多账号登录 Django自带的用户认证后端默认是使用用户名实现用户认证的。 用户认证后端位置:django.contrib.auth.backends.ModelBackend。 如果想实现用户名和手机号都可以认证用户,就需要自定义用户认证后端。 自定义用户认证后端步骤 在users应用中新建uti
阅读全文
摘要:class LoginView(View): """用户名登录""" def get(self, request): """ 提供登录界面 :param request: 请求对象 :return: 登录界面 """ return render(request, 'login.html') def
阅读全文
摘要:1.is_authenticate 判断用户是否登录 介绍: Django用户认证系统提供了方法request.user.is_authenticated()来判断用户是否登录。 如果通过登录验证则返回True。反之,返回False。 缺点:登录验证逻辑很多地方都需要,所以该代码需要重复编码好多次。
阅读全文
摘要:退出登录 1. logout()方法介绍 退出登录: 回顾登录:将通过认证的用户的唯一标识信息,写入到当前session和浏览器cookie中 退出登录:正好和登录相反(清理session和cookie的信息) logout()方法: Django用户认证系统提供了logout()方法 封装了清理s
阅读全文
摘要:Supervisor supervisor是进程管理工具 安装 supervisor对python3支持不好,须使用python2 sudo pip install supervisor 配置 运行echo_supervisord_conf命令输出默认的配置项,可以如下操作将默认配置保存到文件中 e
阅读全文
摘要:Gunicorn Gunicorn(绿色独角兽)是一个Python WSGI的HTTP服务器。从Ruby的独角兽(Unicorn )项目移植。该Gunicorn服务器与各种Web框架兼容,实现非常简单,轻量级的资源消耗。Gunicorn直接用命令启动,不需要编写配置文件,相对uWSGI要容易很多。
阅读全文
摘要:在服务器中查看日志文件的方法: tail flask.log # 查看最后一条记录 tail -n 100 flask.log # 查看最新的100条记录 tail -f flask.log # 实时查看
阅读全文
摘要:Flask Debug模式启动的作用 后端出现错误(500) 会直接返回真实的错误信息给前端 修改代码后 自动重启开发服务器
阅读全文
摘要:蓝图 在Flask中,使用蓝图Blueprint来分模块组织管理。 蓝图实际可以理解为是一个存储一组视图方法的容器对象,其具有如下特点: 一个应用可以具有多个Blueprint 可以将一个Blueprint注册到任何一个未使用的URL下比如 “/user”、“/goods” Blueprint可以单
阅读全文
摘要:路由 @app.route("/itcast") def view_func(): return "hello world" 1查询路由信息 命令行方式,进入工程目录下: flask routes Endpoint Methods Rule index GET / static GET /stati
阅读全文
摘要:HEAD: 简化版的GET请求 * 只返回GET请求处理时的响应头头,不返回响应体
阅读全文
摘要:OPTIONS 是简化版的GET请求 用于询问服务器接口信息的,比如接口允许的请求方式 允许的请求源头域名 CORS 跨域解决方案: + CORS 跨域 django-cors -> 在中间件中拦截options请求,检查请求域名是否在白名单中,如果不在,则报错,如果是,返回如下信息: 返回resp
阅读全文
摘要:在Linux系统中设置和读取环境变量的方式如下: export 变量名=变量值 # 设置 echo $变量名 # 读取 # 例如 export ABC=python echo $ABC
阅读全文
摘要:一. 项目搭建 1 创建项目,设置虚拟环境为flask的虚拟环境: 2 Flask程序编写 创建helloworld.py文件 # 导入Flask类 from flask import Flask #Flask类接收一个参数__name__ app = Flask(__name__) # 装饰器的作
阅读全文
摘要:1.复习虚拟环境和pip的命令 # 虚拟环境 mkvirtualenv # 创建虚拟环境 rmvirtualenv # 删除虚拟环境 workon # 进入虚拟环境、查看所有虚拟环境 deactivate # 退出虚拟环境 # pip pip install # 安装依赖包 pip uninstal
阅读全文
摘要:Flask诞生于2010年,是Armin ronacher(人名)用 Python 语言基于 Werkzeug 工具箱编写的轻量级Web开发框架。 Flask 本身相当于一个内核,其他几乎所有的功能都要用到扩展(邮件扩展Flask-Mail,用户认证Flask-Login,数据库Flask-SQLA
阅读全文
摘要:1. Celery介绍 Celery介绍: 一个简单、灵活且可靠、处理大量消息的分布式系统,可以在一台或者多台机器上运行。 是一个基于生产者消费者设计模式的实现异步消息处理的系统 单个 Celery 进程每分钟可处理数以百万计的任务。 通过消息进行通信,使用消息队列(broker)在客户端和消费者之
阅读全文
摘要:1.__new__方法实现: python的单例模式__new__()在__init__()之前被调用,用于生产实例对象。利用这个方法和类的属性的特点可以实现设计模式的单例模式。 class Singleton(object): def __new__(cls, *args, **kwargs):
阅读全文