通过留言版功能回顾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)

 
mark

django自动生成的目录

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

 
mark

可以看到主目录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:

 
mark

startapp message

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

 
mark

新建static目录

使用static目录来存放网站的静态文件:js,css,图片等。

新建log目录

使用log目录来存放网站的日志文件

新建media目录

使用media目录存放用户上传的图片等资源。

解决项目大了之后app过多问题

  1. 新建文件夹 apps
  2. 将message文件夹拖入apps文件夹内:会自动生成__init__.py文件表明这是一个包。使得apps文件夹可导入。
 
mark

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

 
mark

每次前面都得加上apps.,这可烦死人啦。

解决方案奉上

apps目录右键markSource Root(Mark 方法查看第一章pycharm简单使用:目录颜色不同的原因)

 
mark

mark成功之后变蓝(变绿的话,只能摸摸头了,当然选择原谅),然后可以直接使用短路径进行import

Mark后Pycharm 不报错,Cmd下运行报错。

Mark后pycharm知道这是一个项目的Souce Root路径了,但是cmd并不知道。

在项目目录下通过cmd命令行使用python manage.py runserver

 
mark

pycharm中mark只是pycharm自身可以进行识别短路径。

解决方案:

我们在setting文件中配置我们的apps路径:

 
mark

图解读:我们需要在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。

 
mark

红色警告:

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。

 
mark

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

 
mark

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

 
mark

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

 
mark

填写你的项目名称描述。点击share

原文学习来自简书,作者:天涯明月笙
原文链接:https://www.jianshu.com/p/684f6b4eb3f5

django+xadmin在线教育平台(三)的更多相关文章

  1. django+xadmin在线教育平台(五)

    3-3 django orm介绍与model设计 上节教程完成后代码(来学习本节前置条件): 对应commit: 留言板前端页面展示.本次内容截止教程3-2结束. 可能现在你还在通过手写sql语句来操 ...

  2. django+xadmin在线教育平台(一)

    大家好,此教程为在慕学网的实战教程Python升级3.6 强力Django+杀手级Xadmin打造在线教育平台的学习笔记,不对望指正! 使用Django+Xadmin打造在线教育平台(Python2, ...

  3. django+xadmin在线教育平台(四)

    3-2 配置表单页面 必要的该说的,该了解的 前置条件: 你已经学习了前面教程.将项目的文件夹目录结构,setting配置等修改完毕与我保持一致. 本节通过Django快速的配置一个留言板页面来学习 ...

  4. django+xadmin在线教育平台(十)

    剩余app model注册 courses注册 新建courses/adminx.py: # encoding: utf-8 __author__ = 'mtianyan' __date__ = '2 ...

  5. django+xadmin在线教育平台(十一)

    6-1 首页和登录页面的配置 用户访问我们的根目录,我们需要把html文件返回给用户.因此我们第一步把html文件放入template目录.   mark 在html中找到首页的html.拷贝到我们的 ...

  6. django+xadmin在线教育平台(九)

    django admin介绍 上一章我们进行了需求分析和数据库设计.本章我们来快速搭建一个可用的后台管理系统. 后台管理系统特点: 权限管理 少前端样式.(样式一般不是很看重), 快速开发 djang ...

  7. django+xadmin在线教育平台(六)

    4-1 使用py3.6和django1.11开发系统前注意事项 直接通过Python3.6和django最新版本来开发我们的系统的一些注意事项. 原版本: Python 2.7 & djang ...

  8. django+xadmin在线教育平台(十七)

    8-1 课程列表 拷贝课程列表页到template目录 创建课程相关的urls.py Mxonline2/urls.py中声明包含到course的url中: # 课程app的url配置 url(r&q ...

  9. django+xadmin在线教育平台(十六)

    7-7 modelform 提交我要学习咨询1 对应表userask form会对字段先做验证,然后保存到数据库中. 可以看到我们的forms和我们的model中有很多内容是一样的.我们如何让代码重复 ...

随机推荐

  1. (转)在CentOS中修改中文字符集

    虽然在实际工作环境下,Linux中不建议使用中文,但是如果一定要进行中文显示,尤其对于刚接触linux且英语基础不太好的人来说,那么本文具有一定的参考价值. 本文介绍在linux的shell环境下优化 ...

  2. Hadoop 解除 “Name node is in safe mode”(转)

    运行Hadoop程序时,有时候会报以下错误: org.apache.hadoop.dfs.SafeModeException: Cannot delete /user/hadoop/input. Na ...

  3. swift第一课快速体验playground

    最近听说苹果要大力推行swift语言,所以我必须要赶快好好学一学,今天做第一个就遇到问题. 在Xcode7.2欢迎界面,选中创建第一个,我们一般都是默认创建第二个. 创建完后,出现问题了,提示如下: ...

  4. Java 记录日志

    Java9的日志级别: ALL 最低级别,系统会输出所有的日志信息,会生成大量的·.冗余的日志 TRACE 输出系统的各种跟踪信息,会生成大量的·.冗余的日志 DEBUG 输出调试信息,会生成较多的日 ...

  5. Teradata 认证系列 - 2. Teradata数据库总览

    Teradata (以下简称TD) 总览本课的学习目标 描述Teradata数据库产品的功能 知晓支持的操作系统 描述Teradata的并行架构 解释线性可扩展性 列出Teradata DBA永远不需 ...

  6. Bootstrap学习笔记(三)

    三.组件 1.图标字体 图标字体本质是文字,而不是图形!可以无限放大或修改颜色. 使用方式:<span class="glyphicon glyphicon-XXX"> ...

  7. 父类和子类以及super关键字

    super和this关键字的特点类似:super代表的是父类对象的引用. 当子父类的成员出现同名时,可以通过super来进行区分. 子类的构造方法中,通过super关键字调用父类的构造方法. publ ...

  8. JeeSite 工作流Activiti的应用实例

    新建流程模型 在线办公-流程管理-模型管理-新建模型  点击“提交”后会立即跳转到“流程在线设计器”页面,请看下一章节 在线流程设计器 在线办公流程管理模型管理模型管理编辑 整体流程图 mat ...

  9. python 之 BeautifulSoup 常用提取

    一.bs4信息提取后返回的数据类型 soup.find('tbody') ---> 返回结构是一个bs4.element.Tag soup.find('tbody').children ---& ...

  10. DELL R730安装ESXI虚拟化

    dell安装esxi需要dell官方提供的镜像文件地址:http://www.dell.com/support/article/us/en/04/SLN290857/dell%E5%AE%9A%E5% ...