django中url访问方法

只是了解,不推荐使用,毕竟干扰太多,任意冲突,也没有解耦,应该使用路由分发

在url匹配中支持正则匹配,例如:

 

url(r'^userinfo',views.userinfo),

匹配以userinfo开头,但是不一定以其结尾,在后面加上其他后缀也是允许的

http://127.0.0.1:8080/userinfo

http://127.0.0.1:8080/userinfodasf

访问方法二:

url(r'^article/2013/66$',v2.show_url),

匹配以article开始,66结尾,格式按照,但是在中间加入其他也是允许的:

http://127.0.0.1:8080/article/2013/66

http://127.0.0.1:8080/article/2013d/d66

访问方法三:

url(r'^article/([0-9]{4})/$',v2.show_url_3),

在()中数据是为传入参数

http://127.0.0.1:8080/article/2012/

可获取,处理,但是获取方法不不受限制:

 

访问方法四:

url(r'^article/(?P<year>[0-9]{4})/(?P<month>[0-9]{2})/$',v2.show_url_4),

限制传参,参数名必须一致:

http://127.0.0.1:8080/articel/2012/23/

 

访问方法五:

url(r"^index",views.index,{'name':'ld'}),

后台自定义传参:作用:例如对于不同情况,传入不同模板文件名,同一函数处理时获取不同文件名,进行渲染返回(实际不用这种方法),访问直接使用index即可,但是函数传参名必须一致:

 

访问方法六:

url(r'^login',views.login,name="lg"),

为方法设置别名,可以在前端使用时简写,在返回给客户端 时,在渲染时会被替换为原来路径

 

使用方法:

 

也可以进行传参:

url(r'^all/(?P<article_type_id>\d+)\.html$',home.index,name='index'),

在视图函数中使用:

reverse("index",kwargs={"article_type_id":1}) ==> all/1.html

 

在HTML代码中进行使用:

{% url "index" article_type_id=1 %}==>all/1.html

 或者:

url(r'^all/(\d+)\.html$',home.index,name='index'),

reverse("index",args=(2,))==> all/2.html

{% url "index" 2 %}==>  all/2.html

 注意引入:

from django.core.urlresolvers import reverse

posted @ 2022-10-07 20:44  I'm_江河湖海  阅读(12)  评论(0)    收藏  举报