django+xadmin在线教育平台(三)
通过留言版功能回顾django基础知识
- 将对于django目录结构,使用Django快速搭建可以提交的表单页面,models.py , urls.py, views.py。
- 从数据库中取出数据展示到html中:Django Template的配置。
- 即django的基础知识通过这个留言板项目进行一个全面细致的学习。
3-1 django目录结构
django目录:
projectname : 保存Django项目的urls,setting,uwsgi文件
如下图新建一个Django项目DjangoGetStarted
,使用我们上章节中已存在的虚拟环境DjangoTest
(里面已经装好了django)

django自动生成的目录
初始化完成后的目录如下:(如果不是,那么你们可能创建的不是django项目)

可以看到主目录DjangoGetStarted
与项目目录DjangoGetStarted
- DjangoGetStarted(文件夹):
- setting.py: 项目全局配置文件
- urls.py: 主要的urls配置入口
- wsgi.py: 是Django启动需要的文件。
- templates(文件夹): 放置html文件
- manage.py: 启动Django需要的主要文件。(主要的Django命令都通过manage.py运行)
还需要我们自己创建的目录
app是Django里一个一个应用的文件夹单位。
通过 Tools -> Run manage.py Task
创建app:

startapp message
可以看到当输入startapp message
之后,创建了message
应用。并存放在了:与项目目录同级目录。

新建static目录
使用static
目录来存放网站的静态文件:js,css,图片等。
新建log目录
使用log目录来存放网站的日志文件
新建media目录
使用media目录存放用户上传的图片等资源。
解决项目大了之后app过多问题
- 新建文件夹 apps
- 将message文件夹拖入apps文件夹内:会自动生成
__init__.py
文件表明这是一个包。使得apps文件夹可导入。

这时我们就会发现在导入我们的message的内容就得配置较长的路径。

每次前面都得加上
apps.
,这可烦死人啦。
解决方案奉上
将
apps
目录右键mark
成Source Root
(Mark 方法查看第一章pycharm简单使用:目录颜色不同的原因)

mark成功之后变蓝(变绿的话,只能摸摸头了,当然选择原谅),然后可以直接使用短路径进行import
Mark后Pycharm 不报错,Cmd下运行报错。
Mark后pycharm知道这是一个项目的Souce Root
路径了,但是cmd并不知道。
在项目目录下通过cmd命令行使用
python manage.py runserver

pycharm中mark只是pycharm自身可以进行识别短路径。
解决方案:
我们在setting文件中配置我们的
apps
路径:

图解读:我们需要在setting中向上图一样设置,程序就会接着报错。(换了一个错误了,滑稽脸)
import sys
sys.path.insert(0,os.path.join(BASE_DIR,'apps'))
上述代码为将apps拼接项目绝对路径后的路径插入当前系统的环境变量path中,这样就可以成功解决(个屁屁啊)。
成功性测试(测试已失败):
这个import放到manage.py文件是不行的 你把manage.py中这行删除 因为django整个的配置还没有启动好 import django的model是不行的,
插播:忘了失败吧,我偷学下面方法养你。
终极解决:将这个import
方法比如urls.py.等可以成功启动。或者自行删除该import。

红色警告:
You have unapplied migrations; your app may not work properly
until they are applied. Run 'python manage.py migrate' to apply them.
是因为我们没有进行数据库models
进行初始化migrate
.
python manage.py migrate
我们之后会用到,现在不要做。
github仓库项目初始化第一次commit。

输入用户名密码,点击login。

选择左侧导航中
Git
设置你的git.exe的路径

点击Share project on GitHub
会弹出下图窗口

填写你的项目名称
,描述
。点击share
。
原文学习来自简书,作者:天涯明月笙
原文链接:https://www.jianshu.com/p/684f6b4eb3f5
django+xadmin在线教育平台(三)的更多相关文章
- django+xadmin在线教育平台(五)
3-3 django orm介绍与model设计 上节教程完成后代码(来学习本节前置条件): 对应commit: 留言板前端页面展示.本次内容截止教程3-2结束. 可能现在你还在通过手写sql语句来操 ...
- django+xadmin在线教育平台(一)
大家好,此教程为在慕学网的实战教程Python升级3.6 强力Django+杀手级Xadmin打造在线教育平台的学习笔记,不对望指正! 使用Django+Xadmin打造在线教育平台(Python2, ...
- django+xadmin在线教育平台(四)
3-2 配置表单页面 必要的该说的,该了解的 前置条件: 你已经学习了前面教程.将项目的文件夹目录结构,setting配置等修改完毕与我保持一致. 本节通过Django快速的配置一个留言板页面来学习 ...
- django+xadmin在线教育平台(十)
剩余app model注册 courses注册 新建courses/adminx.py: # encoding: utf-8 __author__ = 'mtianyan' __date__ = '2 ...
- django+xadmin在线教育平台(十一)
6-1 首页和登录页面的配置 用户访问我们的根目录,我们需要把html文件返回给用户.因此我们第一步把html文件放入template目录. mark 在html中找到首页的html.拷贝到我们的 ...
- django+xadmin在线教育平台(九)
django admin介绍 上一章我们进行了需求分析和数据库设计.本章我们来快速搭建一个可用的后台管理系统. 后台管理系统特点: 权限管理 少前端样式.(样式一般不是很看重), 快速开发 djang ...
- django+xadmin在线教育平台(六)
4-1 使用py3.6和django1.11开发系统前注意事项 直接通过Python3.6和django最新版本来开发我们的系统的一些注意事项. 原版本: Python 2.7 & djang ...
- django+xadmin在线教育平台(十七)
8-1 课程列表 拷贝课程列表页到template目录 创建课程相关的urls.py Mxonline2/urls.py中声明包含到course的url中: # 课程app的url配置 url(r&q ...
- django+xadmin在线教育平台(十六)
7-7 modelform 提交我要学习咨询1 对应表userask form会对字段先做验证,然后保存到数据库中. 可以看到我们的forms和我们的model中有很多内容是一样的.我们如何让代码重复 ...
随机推荐
- (转)在CentOS中修改中文字符集
虽然在实际工作环境下,Linux中不建议使用中文,但是如果一定要进行中文显示,尤其对于刚接触linux且英语基础不太好的人来说,那么本文具有一定的参考价值. 本文介绍在linux的shell环境下优化 ...
- Hadoop 解除 “Name node is in safe mode”(转)
运行Hadoop程序时,有时候会报以下错误: org.apache.hadoop.dfs.SafeModeException: Cannot delete /user/hadoop/input. Na ...
- swift第一课快速体验playground
最近听说苹果要大力推行swift语言,所以我必须要赶快好好学一学,今天做第一个就遇到问题. 在Xcode7.2欢迎界面,选中创建第一个,我们一般都是默认创建第二个. 创建完后,出现问题了,提示如下: ...
- Java 记录日志
Java9的日志级别: ALL 最低级别,系统会输出所有的日志信息,会生成大量的·.冗余的日志 TRACE 输出系统的各种跟踪信息,会生成大量的·.冗余的日志 DEBUG 输出调试信息,会生成较多的日 ...
- Teradata 认证系列 - 2. Teradata数据库总览
Teradata (以下简称TD) 总览本课的学习目标 描述Teradata数据库产品的功能 知晓支持的操作系统 描述Teradata的并行架构 解释线性可扩展性 列出Teradata DBA永远不需 ...
- Bootstrap学习笔记(三)
三.组件 1.图标字体 图标字体本质是文字,而不是图形!可以无限放大或修改颜色. 使用方式:<span class="glyphicon glyphicon-XXX"> ...
- 父类和子类以及super关键字
super和this关键字的特点类似:super代表的是父类对象的引用. 当子父类的成员出现同名时,可以通过super来进行区分. 子类的构造方法中,通过super关键字调用父类的构造方法. publ ...
- JeeSite 工作流Activiti的应用实例
新建流程模型 在线办公-流程管理-模型管理-新建模型 点击“提交”后会立即跳转到“流程在线设计器”页面,请看下一章节 在线流程设计器 在线办公流程管理模型管理模型管理编辑 整体流程图 mat ...
- python 之 BeautifulSoup 常用提取
一.bs4信息提取后返回的数据类型 soup.find('tbody') ---> 返回结构是一个bs4.element.Tag soup.find('tbody').children ---& ...
- DELL R730安装ESXI虚拟化
dell安装esxi需要dell官方提供的镜像文件地址:http://www.dell.com/support/article/us/en/04/SLN290857/dell%E5%AE%9A%E5% ...