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'' 否则输入什么都会显示页面,要加开始符号和结束符号