基于 Python Django 的在线编程学习平台(仿慕课网)

本文涉及的产品
云数据库 RDS MySQL Serverless,0.5-2RCU 50GB
简介: 基于 Python Django 的在线编程学习平台(仿慕课网)

仿照慕课网搭建的在线编程学习平台

源码下载地址


环境

  • Python 3.5
  • Django 1.10.5
  • xadmin 0.6


网站功能



快速启动该项目


  1. 安装 mysql
  2. 安装 python3
  3. 建立虚拟环境(可选步骤)
下载代码
cd MxOnline_Django
make dev
# 建立一个名为 imooc 数据库
make migrate
make run


因为此时数据库为空,所以页面看起来没什么东西,需要手动往数据库里加数据,或者登陆 admin ,添加数据。


使用 docker 快速部署/开发项目


Linux/Mac/Windos 用 Docker 部署项目步骤


Pycharm 启动项目详细步骤


  • 克隆项目

源码下载地址


  • 下载项目依赖
make dev


  • 配置数据库


  1. 确保你已经安装了 MySQL
  2. 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 项目环境变量

  1. 第一步:点击 Edit Config

  2. 第二步:点击 环境变量配置

  1. 第三步:输入环境变量

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.pydef __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


源码下载地址

源码下载地址


相关实践学习
基于CentOS快速搭建LAMP环境
本教程介绍如何搭建LAMP环境,其中LAMP分别代表Linux、Apache、MySQL和PHP。
全面了解阿里云能为你做什么
阿里云在全球各地部署高效节能的绿色数据中心,利用清洁计算为万物互联的新世界提供源源不断的能源动力,目前开服的区域包括中国(华北、华东、华南、香港)、新加坡、美国(美东、美西)、欧洲、中东、澳大利亚、日本。目前阿里云的产品涵盖弹性计算、数据库、存储与CDN、分析与搜索、云通信、网络、管理与监控、应用服务、互联网中间件、移动服务、视频服务等。通过本课程,来了解阿里云能够为你的业务带来哪些帮助     相关的阿里云产品:云服务器ECS 云服务器 ECS(Elastic Compute Service)是一种弹性可伸缩的计算服务,助您降低 IT 成本,提升运维效率,使您更专注于核心业务创新。产品详情: https://www.aliyun.com/product/ecs
相关文章
|
13天前
|
Python
python学习3-选择结构、bool值、pass语句
python学习3-选择结构、bool值、pass语句
|
3天前
|
运维 Shell Python
Shell和Python学习教程总结
Shell和Python学习教程总结
|
4天前
|
Python
Python从入门到精通:深入学习面向对象编程——2.1.2继承、封装和多态的概念
Python从入门到精通:深入学习面向对象编程——2.1.2继承、封装和多态的概念
|
4天前
|
开发框架 前端开发 数据库
Python从入门到精通:3.3.2 深入学习Python库和框架:Web开发框架的探索与实践
Python从入门到精通:3.3.2 深入学习Python库和框架:Web开发框架的探索与实践
|
4天前
|
数据采集 数据可视化 数据处理
Python从入门到精通的文章3.3.1 深入学习Python库和框架:数据处理与可视化的利器
Python从入门到精通的文章3.3.1 深入学习Python库和框架:数据处理与可视化的利器
|
4天前
|
存储 网络协议 关系型数据库
Python从入门到精通:2.3.2数据库操作与网络编程——学习socket编程,实现简单的TCP/UDP通信
Python从入门到精通:2.3.2数据库操作与网络编程——学习socket编程,实现简单的TCP/UDP通信
|
10天前
|
Python
基于Django的Python应用—学习笔记—功能完善
基于Django的Python应用—学习笔记—功能完善
|
11天前
|
机器学习/深度学习 算法 Python
使用Python实现集成学习算法:Bagging与Boosting
使用Python实现集成学习算法:Bagging与Boosting
20 0
|
11天前
|
Python
python学习-函数模块,数据结构,字符串和列表(下)
python学习-函数模块,数据结构,字符串和列表
57 0
|
13天前
|
Python
python学习14-模块与包
python学习14-模块与包