- Vue
- Python 3.6, 3.7 and 3.8
- Django 1.11, 2.1, 2.2 and 3.0
- Django Rest Framework 3.9, 3.10 and 3.11
- 使用最新的django-rest-framework-simplejwt代替django-rest-framework-jwt,由于原作者已不再维护该项目。
- 加入腾讯云短信发送相关代码
- 配合django-rest-framework-simplejwt修复第三方登录时,用户前端显示bug。
- 修复alipay密钥存储格式导致的Incorrect padding问题
- 修复热门搜索接口
- 可以切换数据库
- 修复部分前端问题。
项目视频与原版文件: 链接:https://pan.baidu.com/s/1elQ0DJ-b0hB6W4ihJcK3mQ 密码:ndzt
- Authentication用户认证设置
- 动态设置Permission、Authentication
- Validators实现字段验证
- Serializer
- ModelSerializer
- 动态设置Serializer
- Json Web Token方式登录
- 手机注册 / 支付宝支付
- 第三方登录
- Apiview方式实现API接口 / GenericView方式实现API接口
- Viewset和Router方式实现API接口和URL配置
- Django_filter、SearchFilter、OrderFilter、分页 / 通用Mixins
- Django REST framework部分核心源码解读
- 文档自动化管理 / Django REST framework的缓存
- Throttling对用户和IP进行限速
Vue技术选型分析 API后端接口数据填充到Vue组件模板 Vue代码结构分析
- Django Mirgrations原理
- Django信号量
- Django从请求到响应的完整过程
- 独立使用Django的Model
- Vue+ Django REST framework前后端分离的全栈开发
- Django REST framework的功能实现与核心源码分析
- Sentry完成线上系统的错误日志的监控和告警
- 第三方登录和第三方支付宝的支付集成
- 本地调试远程服务器代码技巧
-
环境变量设置 Mac 无需配置,自动保存的./.virtualenvs/中 Win 桌面新建文件夹Envs
新建环境变量:以后创建虚拟环境会自动保存到这个路径 -
安装
pip install virtualenv
# Mac
pip install virtualenvwrapper # 并添加相应的环境变量到./.bash_profile中
workon #查看有哪些虚拟环境
workon VueDjango #进入创建的虚拟环境
deactivate #退出虚拟环境
activate #激活虚拟环境
# Win
pip install virtualenvwrapper\-win
mkvirtualenv VueDjango #创建虚拟环境
workon #查看有哪些虚拟环境
workon VueDjango #进入创建的虚拟环境
deactivate.bat #退出虚拟环境
activate.bat #激活虚拟环境
- 数据库选择 请选择其中一种数据库,新手推荐使用SQLite先运行,后面再数据同步与切换
# 数据库选择SQLite
DATABASES = {
'default': {
'ENGINE': 'django.db.backends.sqlite3',
'NAME': os.path.join(BASE_DIR, 'db.sqlite3'),
}
}
# 数据库选择MYSQL
DATABASES = {
'default': {
'ENGINE': 'django.db.backends.mysql',
'NAME': 'vuedjango',
'USER': 'root',
'PASSWORD': 'password',
'HOST': '127.0.0.1',
"OPTIONS": {"init_command": "SET default_storage_engine=INNODB;"}
}
}
国内:
-
node.js https://nodejs.org/
-
cnpm
npm install -g cnpm --registry=https://registry.npm.taobao.org
- 更改./src/api/api.js里的接口地址
let local_host = 'http://127.0.0.1:8000';
- 运行
cnpm run dev
国外:
-
node.js https://nodejs.org/
-
安装依赖
npm install
- 运行
npm run dev
安装MySQL后在数据库中创建名为vueshop库,用下面代码导入SQL即可。
cd Vue-Django-Shop-Website/db_tools/
python import_category_data.py
python import_goods_data.py
# 腾讯云短信设置
TENCENT_SECRET_ID = ''
TENCENT_SECRET_KEY = ''
# 云片网设置
APIKEY = ''
# 配置redis缓存
CACHES = {
"default": {
"BACKEND": "django_redis.cache.RedisCache",
"LOCATION": "redis://127.0.0.1:6379/",
"OPTIONS": {
"CLIENT_CLASS": "django_redis.client.DefaultClient",
"PASSWORD": "password"
}
}
}
SOCIAL_AUTH_WEIBO_KEY = ''
SOCIAL_AUTH_WEIBO_SECRET = ''
SOCIAL_AUTH_QQ_KEY = ''
SOCIAL_AUTH_QQ_SECRET = ''
SOCIAL_AUTH_WEIXIN_KEY = ''
SOCIAL_AUTH_WEIXIN_SECRET = ''
# 引入本地配置
try:
from .local_settings import *
except ModuleNotFoundError as e:
pass
# sentry初始化
sentry_sdk.init(
dsn="You DNS address",
integrations=[DjangoIntegration()],
# If you wish to associate users to errors (assuming you are using
# django.contrib.auth) you may enable sending PII data.
send_default_pii=True
)
Django3.0: https://docs.djangoproject.com/zh-hans/3.0/
Django REST framework: https://www.django-rest-framework.org/
DRF-extensions: http://chibisov.github.io/drf-extensions/docs/
django-rest-framework-simplejwt: https://github.com/davesque/django-rest-framework-simplejwt
django-social-auth: https://github.com/omab/django-social-auth
xadmin: https://xadmin.readthedocs.io/en/docs-chinese/
支付宝沙箱:https://openhome.alipay.com/platform/appDaily.htm
腾讯云发送短信API: https://cloud.tencent.com/document/api/382/38778
django-redis 中文文档: https://django-redis-chs.readthedocs.io/zh_CN/latest/#
Python Social Auth: https://python-social-auth.readthedocs.io/en/latest/
redis数据库安装参考: https://www.jianshu.com/p/035be70daf2d