Python学习第105天(Django初步实现)

Posted 崆峒山肖大侠

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Python学习第105天(Django初步实现)相关的知识,希望对你有一定的参考价值。

一、MTV和MVC模式

  著名的MVC模式:所谓MVC就是把web应用分为模型(M),控制器(C),视图(V)三层;他们之间以一种插件似的,松耦合的方式连接在一起。

  模型负责业务对象与数据库的对象(ORM),视图负责与用户的交互(页面),控制器(C)接受用户的输入调用模型和视图完成用户的请求。

                    

  

  Django的MTV模式本质上与MVC模式没有什么差别,也是各组件之间为了保持松耦合关系,只是定义上有些许不同,Django的MTV分别代表:

         Model(模型):负责业务对象与数据库的对象(ORM)

         Template(模版):负责如何把页面展示给用户

         View(视图):负责业务逻辑,并在适当的时候调用Model和Template

         此外,Django还有一个url分发器,它的作用是将一个个URL的页面请求分发给不同的view处理,view再调用相应的Model和Template

    

 

 二、Django命令的初步实现

  django实现流程  

django
    #安装: pip3 install django

          添加环境变量

    #1  创建project
       django-admin startproject mysite

       ---mysite

          ---settings.py
          ---url.py
          ---wsgi.py

       ---- manage.py(启动文件)  

    #2  创建APP       
       python mannage.py startapp  app01

    #3  settings配置
    
       TEMPLATES

       STATICFILES_DIRS=(
            os.path.join(BASE_DIR,"statics"),
        )

       STATIC_URL = \'/static/\' 
       #  我们只能用 STATIC_URL,但STATIC_URL会按着你的STATICFILES_DIRS去找#4  根据需求设计代码
           url.py
           view.py

    #5  使用模版
       render(req,"index.html")   

    #6  启动项目
       python manage.py runserver  127.0.0.1:8090

    #7  连接数据库,操作数据
       model.py

  django的命令行工具

  django-admin.py 是Django的一个用于管理任务的命令行工具,manage.py是对django-admin.py的简单包装,每一个Django Project里都会有一个mannage.py。

  <1> 创建一个django工程 : django-admin.py startproject mysite

          当前目录下会生成mysite的工程,目录结构如下:

    

  • manage.py ----- Django项目里面的工具,通过它可以调用django shell和数据库等。
  • settings.py ---- 包含了项目的默认设置,包括数据库信息,调试标志以及其他一些工作的变量。
  • urls.py ----- 负责把URL模式映射到应用程序。

<2>在mysite目录下创建blog应用: python manage.py startapp blog

    

<3>启动django项目:python manage.py runserver 8080

       这样我们的django就启动起来了!当我们访问:http://127.0.0.1:8080/时就可以看到:

  

暂时完成了以上三部分的内容

  测试内容还没搞成功。。。

以上是关于Python学习第105天(Django初步实现)的主要内容,如果未能解决你的问题,请参考以下文章

Python学习第127天(Django至ORM)

Python学习第136天(Django的admin)

Python学习第120天(Django1和2之间的区别)

Python学习第110天(Django的万能句点号过滤器)

Python学习第104天(Django前传web框架)

Python学习第106天(Django的静态文件staticurl分组)