启动big_rice_api
启动big_rice_api
创建虚拟环境并安装模块
mkvirtualenv -p python3.6 big_rice
workon big_rice
pip install -r requirements.txt
启动django,根据报错解决问题
python manage.py runserver
1、ModuleNotFoundError: No module named 'django_filters'
注意这个是要下载 django-filter 模块,而不是 django_filters ,不要加 s
pip install django-filter
2、ModuleNotFoundError: No module named 'alipay'
这个是支付宝支付相关功能的模块,不要直接下载alipay,而是下载 python-alipay-sdk
pip install python-alipay-sdk --upgrade
3、django.db.utils.OperationalError: (1045, "Access denied for user 'big_rice'@'localhost' (using password: YES)")
这个是因为数据库中需要创建该项目数据库和响应的用户问题
create user 'big_rice'@'%' identified by 'big_rice123';
select user,host,authentication_string from mysql.user;
grant all privileges on big_rice.* to 'big_rice'@'%';
可以使用新创建的用户登录:
mysql -ubig_rice -p
最后启动项目成功:
python manage.py runserver
admin账号密码
username: root
password: root123
启动前端
然后报了什么错就解决什么
1、 Error: Node Sass does not yet support your current environment: Windows 64-bit with Unsupported runtime (93)
错误:节点Sass还不支持当前环境:64位不支持运行时(93)
尝试把node-sass安装一下
cnpm install node-sass
2、商品详情页图片加载不出来,经过控制台查看,是图片都向后端的8003端口发送了请求,而正确端口是8000,根据请求路径查找,把shops/models.py 中的shop类的shop_banner自定义字段修改一下即可
@property
def shop_banners(self):
shop_list_all = []
for banner in self.shopbanners.all(): # ShopBanner表使用了related_name='shopbanners',可以通过这个名字来反向查询该表
# shop_list_all.append({
# 'shop_id': banner.shop_id,
# 'shop_banner': str(banner.img)
# })
shop_list_all.append('http://127.0.0.1:8000/media/' + str(banner.img))
if len(shop_list_all) >= 4:
return shop_list_all
return shop_list_all
3、localStorage是浏览器缓存,可以把前端需要缓存的变量暂存在其中,供其它vue页面提取调用
localStorage["total_shop"] = JSON.stringify(this.buy_cart);
// 存所选商品总价
localStorage["total_price"] = JSON.stringify(total_price);
// 存所选商品id列表
localStorage["total_list"] = JSON.stringify(total_list);
4、支付接口调不出来
需要使用沙箱测试环境,生成公钥私钥,配置在alipay中,把返回接口调试好,缺什么模块安装什么模块
上线致命错误
1、uwsgi问题
- 在正式环境中要下载 uwsgi 软件,在创建的虚拟环境中也要下载uwsgi模块
否则报错
- uwsgi 需要在虚拟环境中启动,不要在正式环境中启动,否则(正式环境中的uwsgi应该指向了python3.8.6,而虚拟环境用了python3.8.8)
2、在修改完配置重启uwsgi的时候需要先杀死之前启动的uwsgi端口
pkill -9 uwsgi
3、由于日志的字典中配置了日志的存放路径,如果响应路径下缺少文件夹也会报错
'filename': os.path.join(os.path.dirname(BASE_DIR), "log", "big_rice.log"),
4、短信发送问题
发短信配置问题:签名得使用签名内容而不是id
# 签名
SMS_SIGN = "健康食源博物G"
模板传参:我的短信模板需要传入两个参数
params = [code, '1'] # 当模板没有参数时,`params = []`
5、缓存redis
占位符写错
MSG_CACHE =' msg_cache_%s'