url.py文件详解

urls.py:URL分发器(路由配置文件)
URL配置(URLconf)就像是Django所支撑网站的目录,它本质是URL模式以及要为该URL模式调用的视图函数治安的映射表。我们就是以这种方式告诉django,对于这个URL调用这段代码,对于那个URL调用那段代码。URL的加载是从配置文件中开始。

1、urlpatterns的两种形式:
没有前缀的情况,使用的列表(推荐方式)

urlpatters = [
url(r'^hello/$',views.hello)
]

有前缀的情况,使用patterns方法,过时的方法
from django.conf.urls import url,patters
from hello import views

urlpatters = patterns("
(r'^hello/$,views.hello),


)


或者
from django.conf.urls import patterns
urlpatterns = patterns('hello',
(r'^'hello/$',views.hello),
)


2、URL模式
urlpatterns = [
url(正则表达式,view函数,参数,别名,前缀)

]

参数说明:
* 一个正则表达式字符串
*一个可调用对象,通常一个视为函数或一个指定的视图函数路径的字符串。
*可选的要传递给视图函数的默认参数(字典形式)
*一个可选的name参数

3、URL分解器,include函数
通常一个URL分解器对应一个URL配置模块,它可以包含多个URL模式,也可以包含多个其他URL分解器。通过这种包含结构设计,实现Ddjango对URL的层级解析

URL分解器是Django实现app与项目解耦的关键。通常由include方法操作的URL配置模块,最终会被解释成为URL分解器
上节课预留的问题,为什么admin模块引入的时候没有include
url(r'^admin/',admin.site.urls),

4、URL常见写法实例,正则表达式
url(r'^test/\d{2}/$',views.test)
url(r'^test/(?P<id>\d{2})/$',views.test)
url(r'^test/(?P<id>\d{2})/(?P<key>\w+)$',views.test)

posted @ 2018-01-29 22:19  kindnull  阅读(252)  评论(0编辑  收藏  举报