设为首页 加入收藏

TOP

2 - Django基础(一)
2017-09-30 17:45:12 】 浏览:8998
Tags:Django 基础

一、Django流程

       Django是使用python编写的web框架,遵守MTV设计思想。

       实现原理:

                   1,浏览器发起请求。

                   2,Django根据URL Conf指向view(Views)

                   3,view进行数据操作(Models)

                   4, 页面的具体渲染交予模版处理(Templates)

                   5, 浏览器根据返回的数据显示网页内容

    

二、Django创建项目

       在桌面创建一个为website的项目:

             cd desktop
             django-admin startproject website

       项目结构为:

 

      下面创建一个应用,名字叫blog

            cd website
            python3.6 manage.py startapp blog

       项目目录为:

 

三、运行项目

      python3.6 manage.py runserver

      在网页中输入127.0.0.1:8000

 

      如何点击run运行项目。如下图:

 

       点击OK,然后点击绿色小箭头运行。

 

四、项目添加到设置

       在上面创建了项目blog,我们需要把项目在设置中配置一下,让Django知道管理了那些项目,在website/settings.py目录下的INSTALLED_APPS中,我们可以添加blog,如下图:

      

        从上图中我们可以看到,Django下已经配置好了一些项目,如‘django.contrib.admin'后台管理系统,例如我们在浏览器中输入127.0.0.1:8000/admin,结果如下图所示:

 

五、URLS和Views

       在生成的文件中,有一个urls.py和views.py,其中它们两者关系密切。如文章开始写道,浏览器发起请求,通过urls文件能够匹配到相应的view,它们是如何关联的呢?

       首先我们在blog下创建一个urls.py文件,在Mac下,可以使用快捷键command+n

       此时我们在views.py编写如下代码:

     

         在blog/urls.py下编写如下代码:

          其思想是如果我们在浏览器中输入:127.0.0.1:8000/blog/home

          看urls.py中的代码,我们匹配到了home,home对应home_page,这样就对应到了相应的view上。

          有一点需要注意,我们启动项目的时候,对应的urls.py应该是website下的urls.py,不是blog下的urls.py,在settings.py我们可以看到这一点,如下图:

 

         我们需要做的是,可以在website下的urls.py能够对应到blog下的urls.py,具体代码如下:

      再次总结一下,通过setting.py对应到了website下的urls.py,通过urls.py下的include,我们对应到了blog下的urls.py,通过blog下的urls.py我们可以对应的相应的view,此时我们如果在浏览器中输入:127.0.0.0:8000/blog/home,执行结果如下:

六、Templates

       为了提高代码的可读性,我们一般把代码HTML/CSS代码独立出来。一般html文件放在templates文件夹下,我们首先在项目中新建一个文件夹,命名为templates。

       接着我们需要修改website下的settings.py下的TEMPLATES,将'DIRS':[],修改如下图:

       在templates下,建立一个html,

首页 上一页 1 2 3 下一页 尾页 1/3/3
】【打印繁体】【投稿】【收藏】 【推荐】【举报】【评论】 【关闭】 【返回顶部
上一篇CentOS下离线安装Flask及Flask-So.. 下一篇python中logging模块的使用

最新文章

热门文章

Hot 文章

Python

C 语言

C++基础

大数据基础

linux编程基础

C/C++面试题目