反向解析

 

参考

urlpatterns = [
    url(r'^admin/', admin.site.urls),
    # 登陆
    url(r'login', views.login),
    # 注册
    url(r'register', views.register),
    # 查询用户中所有数据
    url(r'^userlist', views.userlist),
    # 编辑
    url(r'edit_user/(\d+)', views.edit_user, name='alias_edit_user'),
    # 删除
    url(r'^delete_user/(\d+)', views.delete_user, name='alias_delete_user'),
    url(r'^$', views.home),
    # url(r'^test/[0-9]{4}$', views.test),
    # <会将括号内匹配到的内容当作位置参数传给对应的视图函数>
    url(r'^test/(\d+)', views.test),
    # url(r'^testadd/(?P<year>\d+)', views.testadd)
    url(r'^testadd2/(\d+)/(?P<year>\d+)', views.testadd2),
    url(r'^func_kk/', views.func, name='nnn')
]

 

2

~1 没有分组的url的反向解析

笔记


演示


2 无名有名分组的反向解析
    * 
总结1:
    * 
因为url它不知道正则表达式匹配什么内容,这些东西需要你手动去指定,一般情况下是数据的主键值



2-1 无名分组反向解析
    * 
需要手动给一个"正则可以匹配到的内容"
    * 
本例是给一个可以匹配的数字



此笔记第一行是路由关系

总结2: 
它'{% url 'xxx' 1 %}'或reverse('xxx', kwargs=(1,))会把数字放在
'url(r'index/(\d+)', views.index, name='xxx')'正则表达式的位置,跟前边的内容一起组成一个完整的url,然后去执行对应的视图函数

演示
先直接在浏览器地址栏回车(不用写后缀)去访问到home页面,然后点a标签的内容111或222等,出现以下结果


使用场景:  数据的"编辑和删除"

理解及作业: 

 
2-2 又名分组反向解析
    * 
实际用的用法跟无名分组一样



但是其正规写法是下面写法1(了解即可)




3 补充:

redirect括号内除可以写url
也可以直接写别名

但是,若别名需要额外参数,必须用reverse解析,把解析的结果放在
return redirect('')  括号内
 

 

posted @ 2022-08-04 15:45  tslam  阅读(24)  评论(0编辑  收藏  举报