Django学习--urls.py详解

urls.py:又称为URL分发器(路由配置文件)
URL配置(URLconf)就形式Django所支撑网站的目录。他的本质是URL模式以及要为该URL模式调用的试图函数之间的映射表。开发者就是以这种方式告诉Django,对于这个URL调用这段代码,而那个URL调用那段代码。URL加载是从配置文件中开始的。
 
1.url配置格式:
urlpatterns = patterns('视图前缀',  
        url(r'^正则表达式1/$', '视图函数1', name="url标识1"),  
        url(r'^正则表达式2/$', '视图函数2', name="url标识2"),  
    )
 
 
patterns函数的第一个参数表示视图前缀,视图前缀能够为空,以后跟上若干个url函数,每一个url函数表示一个请求映射关系。
 

注意:正则表达式

3.1 url函数的第二个参数,表示视图函数,它的名字不是随便取的,必需要在views.py中真实存在,项目的每一个应用下都会有一个views.py文件。app

3.2 views.py文件中的视图函数,其第一个参数必须是HttpRequest对象。函数

3.2 name的做用主要体如今一个视图函数对应多个url请求的场景中,name能够用来惟一标识一个url,因此它必须全局惟一网站

 
urls.py的配置写法通常有三种方式:
 
第一种是视图函数处理方法,l例如:
from hello_app import views   #在hello_app中的views.py文件中配置了函数hello
#url函数写法
url(r'^hello$',views.hello)
 
第二种方法是导入视图函数中的方法
第三种就是下述的include分解器方式。
 
2.URL的编辑模式:
urlpatterns=[
    url(正则表达式,view函数,参数,别名,前缀)
]
其中各参数的说明以下:
* 一个正则表达式字符串
* 一个可调用的对象,一般为一个视图函数或者是一个指定视图函数路径的字符串
* 可选的要传递给视图函数的默认参数(字典形式)
* 一个可选的参数
* 路径的前缀
如下为url函数源码
 
 
3.URl分解器,include函数:
一般一个URL分解器对应一个URL配置模块,他能够包含多个URL模式,野也以包含多个其余URl分解器。 经过这种包含结构设计,实现Django对URL的层级解析。
通俗讲就是URL过多时 ,每一个app分别保存本身的url,这样在工程目录下的urls.py文件中就不会有不少的URL地址。
URL分解器是Django实现app'与项目解耦的关键,那个有include方法操做的URL配置模块,最终会被解释为URl分解器。

<wiz_tmp_tag id="wiz-table-range-border" contenteditable="false" style="display: none;">url