美文网首页GitHub上有趣的资源python从入门到精通网站开发
最新Django2.0.1在线教育零基础到上线教程(三)-1

最新Django2.0.1在线教育零基础到上线教程(三)-1

作者: 天涯明月笙 | 来源:发表于2018-01-12 20:16 被阅读3011次

    演示地址: http://mxonline.mtianyan.cn

    教程仓库地址1: https://github.com/mtianyan/DjangoGetStarted
    教程仓库地址2: https://github.com/mtianyan/Mxonline2
    教程仓库地址3: https://github.com/mtianyan/Mxonline3

    通过留言版功能回顾django基础知识

    教程中本章对应上传的仓库为: https://github.com/mtianyan/DjangoGetStarted

    对应第一次commit:留言板仓库初始化。内容截止3-1一章结束。

    • 将对于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

    会弹窗让你选择需要上传的项目文件与commit信息。然后将项目上传至github。

    我教程中上传的仓库为: https://github.com/mtianyan/DjangoGetStarted

    对应第一次commit:留言板仓库初始化。内容截止3-1一章结束。

    相关文章

      网友评论

      本文标题:最新Django2.0.1在线教育零基础到上线教程(三)-1

      本文链接:https://www.haomeiwen.com/subject/cqqqoxtx.html