- 模型类基类BaseModel,字段:创建时间,修改时间,逻辑删除
- 需指定为抽象类class Meta(): abstract=True;否则迁移生成表会出错
- 用户模型类继承Django自带的用户认证模块的AbstractUser用户模型类,需配置
- 数据库迁移:python manage.py makemigrations;python manage.py migrate
- 商品描述可以使用富文本编辑器,及订单使用choice选项
- 使用反向解析处理url
- 调用django中create_user实现用户保存及加密隐私信息,默认激活,设置为未激活
- InterityError判断用户是否重名或已注册
- 使用类视图可同时处理get和post请求以及更好的复用和继承,as_wiew
- isdangerous生成激活token,及设置过期时间,dumps,loads
- django内置发送邮件功能,django.core.mail模块的send_mail方法
- 获取163或qq服务器的授权码并配置服务器参数
- celery异步发送激活邮件;client(delay)→broker(redis)→worker(celery)
- celery服务器需初始化django环境和启动worker
- django认证系统完成登录验证:authenticate(用户名,密码)
- django认证系统提供登入方法:login(),保存用户状态即把session保存入数据库
- is_authenticated()判断用户登录和{{user.username}}获取登录用户名
- django退出登录方法:logout()清除登录状态,即session和cookie
- 设置session有效期可让客户选择自动登录还是手动登录
- django认证系统装饰器:@login_required
- 使用类的多继承形式实现登录限制,复用性强
- 使用next参数跳转登录前原来页面
- lasted(‘时间’)函数:按时间排序,最新的最前,获取用户最新填写地址显示
- create()实现数据库表数据的新增
- 使用redis的列表保存用户浏览记录,先删除要加入的数据,然后从左插入数据,读取显示
- 在django使用redis,配置caches然后获取strictredis对象,get_redis_connetion
- fastDFS:轻量级分布式文件系统,文件储存,同步,去重,海量储存,负载均衡
- fastDFS负责保存和管理文件,nginx负责文件的下载
- 自定义存储类重写django的FileSystemStorage的_save方法把文件上传到fastDFS
- 由于图片url不完整,我们重写存储类的url的方法修改图片url的值
- 使用redis的hash类型保存购物车数据,user_id :{sku_id1:num1,sku_id2:num2}
- 主页render返回的html数据通过异步保存到celery服务器,由nginx服务器提供静态页面访问
- 当管理员发布新内容时,继承模型管理类的自定义类需重写save_model,delete_model
- 在方法中加入生成静态文件方法的delay,去异步生成静态html
- 对于已登录用户,我们使用rendis缓存从数据库查询出来不经常改变的数据
- 需做相关配置,使用redis作为项目的缓存,设置缓存:cache.set(),读取缓存cache.get()
- 当管理员修改内容时,我们应删除缓存:cache.delete()
- 商品列表页需做排序和分页操作,order_by,paginate
- 使用haystack框架配置及使用jieba生成索引库:需自定义模型索引类及调用命令生成
- 购物增删改需用ajax交互,实现局部刷新效果
- js代码常用:var token = $('input[name="csrfmiddlewaretoken"]').val();.attr.text等
- js函数:isNaN判断是否数字,trim去掉左右空格,toFix保留多少小数点,change监听
- js常用:':checkbox'指有选框的标签,':checked'指已勾选标签
- redis获取的整型数据是bytes类型,对比时需转换int
- 由于一个订单内存在多个商品,可设计为sku_ids =sku_1&sku_2, 使用get_list()获取
- 如果需要传递参数可以放在前端html标签中,动态加一个属性,然后通过attr获取。
- django事务:开启事务:@transaction.atomic,设置保存点p=transaction.savepoint()
- 回滚:transaction.savepoint_rollback(p) 提交:transaction.savepoint_rollback(p)
- 支付宝接口:在沙箱环境中测试,生成和配置密钥和安装支付sdk,python-alipay-sdk
- 实现打开了支付引导界面,紧接着去循环查询支付结果,把状态并返回给用户
- uWSGI作为web服务器,创建uwsgi.ini及配置相关然后启动uwsgi --ini uwsgi.ini
- nginx作为代理服务器和静态文件处理,修改配置文件,及作负载均衡分发请求。
Django项目
最新推荐文章于 2023-07-09 16:22:38 发布