{"id":24374674,"url":"https://github.com/kele59/imooc-django","last_synced_at":"2025-05-16T16:05:34.794Z","repository":{"id":15577749,"uuid":"78414312","full_name":"kele59/imooc-django","owner":"kele59","description":"高仿慕课网：py3.5 + Django1.10 + xadmin 搭建的在线课程教育平台","archived":false,"fork":false,"pushed_at":"2022-11-22T04:28:07.000Z","size":8064,"stargazers_count":960,"open_issues_count":5,"forks_count":430,"subscribers_count":55,"default_branch":"master","last_synced_at":"2025-04-12T14:56:18.058Z","etag":null,"topics":["django","docker","pycharm","python","xadmin","xadmin-python3"],"latest_commit_sha":null,"homepage":"http://118.25.37.219","language":"Python","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":null,"status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/kele59.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":null,"code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null}},"created_at":"2017-01-09T09:33:48.000Z","updated_at":"2025-03-21T10:59:26.000Z","dependencies_parsed_at":"2022-09-23T08:12:49.947Z","dependency_job_id":null,"html_url":"https://github.com/kele59/imooc-django","commit_stats":null,"previous_names":["kele59/imooc-django","zaxlct/imooc-django"],"tags_count":0,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/kele59%2Fimooc-django","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/kele59%2Fimooc-django/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/kele59%2Fimooc-django/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/kele59%2Fimooc-django/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/kele59","download_url":"https://codeload.github.com/kele59/imooc-django/tar.gz/refs/heads/master","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":254564121,"owners_count":22092121,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["django","docker","pycharm","python","xadmin","xadmin-python3"],"created_at":"2025-01-19T05:41:03.741Z","updated_at":"2025-05-16T16:05:34.747Z","avatar_url":"https://github.com/kele59.png","language":"Python","readme":"# IMOOC\n\n- 仿照[慕课网](http://www.imooc.com/)搭建的在线编程学习平台\n- 每一个章节的详细笔记：[《强力Django+杀手级Xadmin打造在线教育平台 - 系列完整版》](http://blog.mtianyan.cn/post/8b4c6c13.html)\n- 下面所有的配置只针对 master 分支，master 分支是 python 3.5 环境，其余的所有分支均为 python 2.7\n- [支持 python 3.5 的 xadmin 安装下载方法](https://github.com/zaxlct/MxOnline_Django/tree/xadmin-python3)\n- [Django + Vue 单页面应用的开发环境搭建步骤](http://www.jianshu.com/p/fe74907e16b9)\n- [Django 使用 QQ邮箱 / 新浪邮箱发送邮件配置](http://www.jianshu.com/p/5c30ff053381)\n- [SQL 文件](https://github.com/zaxlct/imooc-django/blob/master/imooc.sql)\n- [基于flask框架开发的微信小程序后端，用于构建小程序商城](https://github.com/bodanli159951/mini-shop-server)\n- QQ 交流群\u003ca target=\"_blank\" href=\"//shang.qq.com/wpa/qunwpa?idkey=41f1578a4eb3fa65bd42bcd879ab5305fbf672ae0af7f5046b4d218416f625f9\"\u003e\u003cimg border=\"0\" src=\"//pub.idqqimg.com/wpa/images/group.png\" alt=\"葬爱代码家族群\" title=\"葬爱代码家族群\"\u003e\u003c/a\u003e（聊天，斗图，学习，交流。伸手党勿进）\n\n### 环境\n- Python 3.5\n- Django 1.10.5\n- xadmin 0.6\n\n### 网站功能\n![网站功能脑图](http://ww4.sinaimg.cn/large/006tNbRwly1fetfjhp2xvj318b0qk441.jpg)\n\n### 快速启动该项目\n1. 安装 mysql \n2. 安装 python3\n3. 建立虚拟环境（可选步骤）\n```bash\ngit clone https://github.com/zaxlct/MxOnline_Django\ncd MxOnline_Django\nmake dev\n# 建立一个名为 imooc 数据库\nmake migrate\nmake run\n```\n因为此时数据库为空，所以页面看起来没什么东西，需要手动往数据库里加数据，或者登陆 admin ，添加数据。\n\n\n### 使用 docker 快速部署/开发项目\n [Linux/Mac/Windos 用 Docker 部署项目步骤](https://github.com/zaxlct/MxOnline_Django/blob/master/Deployment.md)\n\n\n### Pycharm 启动项目详细步骤\n- 克隆项目\n```bash\ngit clone https://github.com/zaxlct/MxOnline_Django\n```\n\n\n- 下载项目依赖\n```bash\nmake dev\n```\n \n \n- 配置数据库\n 1. 确保你已经安装了 MySQL\n 2. `settingsdev.py`里的 `DATABASES` 填入你的本地的数据库信息（开发环境），`settings.py` 里填入你服务器的数据库信息（部署环境）。\n ```python\n # 这是我本机的数据库信息，仅提供参考\n DATABASES = {\n    'default': {\n        'ENGINE': 'django.db.backends.mysql',\n        'NAME': 'imooc',\n        'USER': 'root', \n        'PASSWORD': 'root',\n        'HOST': '127.0.0.1',\n    }\n}\n ```\n \n \n- 创建数据表\n```bash\nmake migrate\n```\n\n \n- 配置 PyCharm 项目环境变量\n\n    1. 第一步：点击 Edit Config\n\n    ![点击 Edit Config](http://ww4.sinaimg.cn/large/006tKfTcly1ferrn4bio1j30go04cdge.jpg)\n\n    2. 第二步：点击 环境变量配置\n\n    ![点击 环境变量配置](http://ww2.sinaimg.cn/large/006tNbRwly1ferrozrvchj313q03m3zk.jpg)\n\n    3. 第三步：输入环境变量\n\n    ![输入环境变量](http://ww3.sinaimg.cn/large/006tNbRwly1ferrpwx0kgj30kc044aal.jpg)\n```\nName:   DJANGO_SETTINGS_MODULE\nValue:  imooc.settingsdev\n```\n\n\n- 启动 Django 的 server\n```bash\nmake run\n```\n \n \n### `settingsdev.py` 有什么用？\n项目上线时 `settings.py` 必须设置 `DEBUG=False`，这时 Django 不会用自带的 server 去加载 js/css/img 等静态文件，需要用 nginx 之类的去做静态文件的 server。    \n为了避免来回的修改 `setting.py`，项目开发时的配置在 `settingsdev.py` 里，项目部署上线时的配置在 `settings.py` 里。不要随意修改 `setting.py`。\n\n** 注意：PyCharm 默认 `settings.py` 为配置文件，所以才需要配置 PyCharm 项目环境变量 **\n\n\n### Django 操作 MySql 配置\n```\n# 安装 PyMySQL\npip install PyMySQL\n\n# settings.py\nimport pymysql\npymysql.install_as_MySQLdb()\n```\n\n### python3 的一些坑\n`models.py` 里 `def __unicode__(self):` =\u003e `def __str__(self):`\n\n\n### Django 1.10 的一些坑\nIn Django 1.10 `django.core.context_processors` has been moved to `django.template.context_processors`\n\n\n### xadmin 不支持 Django 1.11\ndjango 1.11 `Lib\\site-packages\\django\\forms\\widgets.py` 中已经没有了 `RadioFieldRenderer` 这个类，故 [xadmin-python3](https://github.com/zaxlct/MxOnline_Django/tree/xadmin-python3) 分支只支持到 django 1.10\n","funding_links":[],"categories":[],"sub_categories":[],"project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fkele59%2Fimooc-django","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fkele59%2Fimooc-django","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fkele59%2Fimooc-django/lists"}