今天主要来学习一下Django的路由系统,视频中只学了一些皮毛,但是也做下总结,主要分为静态路由、动态路由、二级路由

一、先来看下静态路由

1、需要在project中的urls文件中做配置,然后将匹配到的urls转发到对应app的views的函数中

Django基础学习三_路由系统-LMLPHP

2、在对应的app的views中配置相应的函数

Django基础学习三_路由系统-LMLPHP

3、这个时候我们通过浏览器访问这个url,就可以得到如下的结果

Django基础学习三_路由系统-LMLPHP

ok。至此,静态路由我们就学习完了,下面我们开始学习动态路由

二、动态路由的学习,动态路由的学习主要是用到了python的正则表达式,我们先看下下面几个例子

1、动态路由和静态路由是一样的,也要在project的urls文件中匹配urls,但是这里要用到正则表达式

Django基础学习三_路由系统-LMLPHP

^:表示行首匹配

$:表示行尾匹配

\d:表示任意单个数字

\w:表示任意单个字符

{4}:表示匹配前面的字符4次

第一种只有1个参数,匹配所有的数字,第二种有2个参数,第三种也有2个参数,在这里,我们可以这样理解,每一个括号表示一个参数,所以在url中有n个括号,那么在views中的函数中必须要有n个参数来接收urls中的n个参数,不然会就会报错

第四种我们一会在介绍

Django基础学习三_路由系统-LMLPHP

第四种表示第一个变量的名称是arg1,第二个参数的名称是arg2,这样我们就不必按照顺序匹配,可以通过变量来获取每个参数的值

Django基础学习三_路由系统-LMLPHP

至此,动态路由我们也基本上学完了,下面我们进入二级路由的学习

三、二级路由,也就是说一个url请求过来,我们先把这个url请求分配到不同的app的urls中,然后在不同的app的urls中分配到指定的views的函数中

1、先需要在project的urls中分配指定的url到不同的app中

Django基础学习三_路由系统-LMLPHP

这个例子中,如果url为app01.则把这个url请求发送给django_app1的urls中

2、我们在app1的urls中写匹配的urls的函数

Django基础学习三_路由系统-LMLPHP

得到的效果就是如果一个url的地址如下,app01/test1就会到app01下的views中的test1中

3、我们在app01的views中写test1的函数

Django基础学习三_路由系统-LMLPHP

ok,至此,我们的二级路由也讲解完了

04-14 12:48