Awesome
IMOOC
- 仿照慕课网搭建的在线编程学习平台
- 每一个章节的详细笔记:《强力Django+杀手级Xadmin打造在线教育平台 - 系列完整版》
- 下面所有的配置只针对 master 分支,master 分支是 python 3.5 环境,其余的所有分支均为 python 2.7
- 支持 python 3.5 的 xadmin 安装下载方法
- Django + Vue 单页面应用的开发环境搭建步骤
- Django 使用 QQ邮箱 / 新浪邮箱发送邮件配置
- SQL 文件
- 基于flask框架开发的微信小程序后端,用于构建小程序商城
- QQ 交流群<a target="_blank" href="//shang.qq.com/wpa/qunwpa?idkey=41f1578a4eb3fa65bd42bcd879ab5305fbf672ae0af7f5046b4d218416f625f9"><img border="0" src="//pub.idqqimg.com/wpa/images/group.png" alt="葬爱代码家族群" title="葬爱代码家族群"></a>(聊天,斗图,学习,交流。伸手党勿进)
环境
- Python 3.5
- Django 1.10.5
- xadmin 0.6
网站功能
快速启动该项目
- 安装 mysql
- 安装 python3
- 建立虚拟环境(可选步骤)
git clone https://github.com/zaxlct/MxOnline_Django
cd MxOnline_Django
make dev
# 建立一个名为 imooc 数据库
make migrate
make run
因为此时数据库为空,所以页面看起来没什么东西,需要手动往数据库里加数据,或者登陆 admin ,添加数据。
使用 docker 快速部署/开发项目
Linux/Mac/Windos 用 Docker 部署项目步骤
Pycharm 启动项目详细步骤
- 克隆项目
git clone https://github.com/zaxlct/MxOnline_Django
- 下载项目依赖
make dev
- 配置数据库
- 确保你已经安装了 MySQL
settingsdev.py
里的DATABASES
填入你的本地的数据库信息(开发环境),settings.py
里填入你服务器的数据库信息(部署环境)。
# 这是我本机的数据库信息,仅提供参考
DATABASES = {
'default': {
'ENGINE': 'django.db.backends.mysql',
'NAME': 'imooc',
'USER': 'root',
'PASSWORD': 'root',
'HOST': '127.0.0.1',
}
}
- 创建数据表
make migrate
-
配置 PyCharm 项目环境变量
- 第一步:点击 Edit Config
- 第二步:点击 环境变量配置
- 第三步:输入环境变量
Name: DJANGO_SETTINGS_MODULE
Value: imooc.settingsdev
- 启动 Django 的 server
make run
settingsdev.py
有什么用?
项目上线时 settings.py
必须设置 DEBUG=False
,这时 Django 不会用自带的 server 去加载 js/css/img 等静态文件,需要用 nginx 之类的去做静态文件的 server。
为了避免来回的修改 setting.py
,项目开发时的配置在 settingsdev.py
里,项目部署上线时的配置在 settings.py
里。不要随意修改 setting.py
。
** 注意:PyCharm 默认 settings.py
为配置文件,所以才需要配置 PyCharm 项目环境变量 **
Django 操作 MySql 配置
# 安装 PyMySQL
pip install PyMySQL
# settings.py
import pymysql
pymysql.install_as_MySQLdb()
python3 的一些坑
models.py
里 def __unicode__(self):
=> def __str__(self):
Django 1.10 的一些坑
In Django 1.10 django.core.context_processors
has been moved to django.template.context_processors
xadmin 不支持 Django 1.11
django 1.11 Lib\site-packages\django\forms\widgets.py
中已经没有了 RadioFieldRenderer
这个类,故 xadmin-python3 分支只支持到 django 1.10