首页 > 代码库 > 《Python高效开发实战》实战演练——基本视图3

《Python高效开发实战》实战演练——基本视图3

在完成Django项目和应用的建立后,即可以开始编写网站应用代码,这里通过为注册页面显示一个欢迎标题,来演示Django的路由映射功能。

1)首先在djangosite/app/views.py中建立一个路由响应函数:

 

from django.http import HttpResponse def welcome(request):    returnHttpResponse("<h1>Welcome to my tiny twitter!</h1>")

 

该代码定义了一个函数welcome(),简单地返回一条被HttpResponse()封装的Welcome信息。

2)接下来,要通过URL映射将用户的http访问与该函数绑定起来。

在djangosite/app/目录中新建一个urls.py文件,管理应用app中的所有URL映射,其文件内容为:

 

from django.conf.urls import urlfrom . import views urlpatterns = [    url(r‘‘,views.welcome),]

 

在其中第1行引入了django.conf.urls中的url()函数,Django中的所有路由映射由该函数生成。第2行代码引入了djangosite/app/views.py模块。之后定义了关键变量urlpatterns,该变量是一个列表,保存所有由url()函数生成的路由映射。本代码中只设置了一个映射,及把所有路由映射到view.py中的welcome函数。

3)在项目URL文件djangosite/urls.py的urlpatterns中增加一项,声明对应用app中urls.py文件的引用,代码如下:

 

from django.conf.urls import urlfrom django.contrib import adminfrom django.conf.urls import include                                                       #本行新增 urlpatterns = [    url(r‘^app/‘,include(‘app.urls‘)),                                                 #本行新增   url(r‘^admin/‘, admin.site.urls),]

 

首先通过import语句引入django.conf.urls.include()函数,之后在urlpatterns列表中增加一个路径’app/’,将其转接到app.urls包,即djangosite/app/urls.py文件。这样,通过include()函数就将两个urlpatterns连接了起来。

注意:url()函数的第1个参数用正则表达式来表达URL路由,本例中’^app/’的含义是“所有以app开头的路由”。

 

 

有兴趣的读者可以看看这本书《Python高效开发实战》的结构

技术分享

 

《Python高效开发实战》实战演练——基本视图3