《Python高效开发实战》实战演练——

发布时间:2019-09-22 07:54:50编辑:auto阅读(1390)

    在完成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 url
    from . 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 url
    from django.contrib import admin
    from 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高效开发实战》的结构


关键字