Django项目

  • 模型类基类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作为代理服务器和静态文件处理,修改配置文件,及作负载均衡分发请求。
  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值