Django创建应用

django创建应用

创建步骤:

1.打开命令行,进入项目中的manage.py同级目录

2.命令行输入:python manage.py startapp blog

3.添加应用名到settings.py中的INSTALLED_APPS里

这样我们的应用就创建好了

在这里需要注意的是,我们创建的应用名是不允许和Python中的模块名称相同,例如os,会创建失败


应用目录介绍

blog下的目录结构:


①.migrations

数据移植(迁移)模块

内容自动生成

migrations涉及到数据库的操作,这个模块(文件夹)下的所有内容都是django自动生成的,暂时不需要关注。

②.admin.py

该应用的后台管理系统配置文件

django有一个特点,它有一个自带的后台管理系统,每一个应用都有自己的配置文件

③.apps.py

当前应用的一些配置

Django-1.9以后自动生成,理论上可以不使用

④.models.py

   数据模型模块

   使用ORM框架

数据表都是在这里创建,django封装好了一个叫ORM的框架,具体的使用日后创建数据再添加。

⑤.test.py

自动化测试模块

Django提供了自动化测试功能。

在这里编写测试脚本(语句)

⑥.views.py 

执行响应的代码所在的模块

代码逻辑处理的主要地点

项目中大部分代码均在这里编写


创建第一个页面响应

1. 打开blog下的views.py

每个响应对应一个函数,函数必须返回一个响应

函数必须存在一个参数,一般约定为request

每个响应(函数)对应一个URL

views.py对应的代码:

     from django.shortcutsimport render

    from django.httpimport HttpResponse

     def index(request):

         return HttpResponse('hello world')

2.配置URL

编辑urls.py

每个URL都以URL的形式写出来

url函数放在urlpatterns列表中

url函数三个参数:URL(正则),对应方法,名称

urls.py的代码:

    from django.conf.urlsimport url

    from django.contribimport admin

    import blog.views as  bv           //首先要引用应用下的views文件 并起个名称bv

    urlpatterns= [

    url(r'^admin/', admin.site.urls),

    url(r'^index/', bv.index,name="index"),        url函数第一个是正则表达式,第二个是指向哪个响应函数,这里是blog 应用下的views文件(简称bv)的 index函数  ,第三个参数是url的名称。

    ]

在命令行输入:Python manage.py runserver

在浏览器中的地址栏中输入:localhost:8080/index

便可以看到输出的字符串:hello world



附:第二种URL配置

在第一种url配置中,我们使用的是

import blog.views as bv                              引入blog应用的views.py文件, 

url(r'^index/', bv.index ,name='index'),      通过views文件配置了url

现在假如我们的网站非常的大,我们把所有的应用的url都直接写在根url的配置文件中的话,那么这个根url配置文件就会很庞大,也不利于维护,可能出现url名称冲突,所以来说一下另外一种url的配置方法。

Including another URLconf

1. Import the include() function: from django.conf.urls import url, include

2. Add a URL to urlpatterns:  url(r'^blog/', include('blog.urls'))

第二种URL配置

包含其他的URL

     在根urls.py中引入include 

     在APP应用目录下创建urls.py文件,格式与urls.py相同

     根urls.py中url函数第二个参数改为include(‘blog.urls’)


应用blog下新建的urls.py文件代码:

             from django.conf.urls import url

             from django.contribimport admin

            from . import  views        //引入当前应用的views配置文件

                   urlpatterns= [

                   url(r'^index/$', views.index),

                  ]

根urls.py文件的代码:

                from django.conf.urlsimport url,include

                 from django.contrib import admin

                   urlpatterns= [

                       url(r'^admin/', admin.site.urls),

                       url(r'^blog/',include('blog.urls')),  //引入了blog应用下的urls.py文件

                        ]


注意事项:

根urls.py针对APP配置的URL名称,是该APP所有URL的总路径

配置URL是注意正则表达式结尾符号$和/

空字符串用r'^$'而不是r''   否则输入什么都会显示页面,要加开始符号和结束符号

你可能感兴趣的:(Django创建应用)