Django(命名URL和URL反向解析)

day67

参考:

https://www.cnblogs.com/liwenzhou/articles/8271147.html#autoid-1-4-0

反向解析URL
            本质上就是给url匹配模式起别名,然后用过别名拿到具体的URL路径
            
            1. 怎么起别名?
                在url匹配模式中,定义name="别名"
            2. 如何使用?
                1. 在模板语言里面使用:
                    {% url "别名" %}  --> 得到具体的URL路径
                2. 在视图中如何使用:
                    from django.urls import reverse
                    
                    reverse("别名")  --> 得到具体的URL路径
            3. 如何传参数?
                1. 模板语言中:
                    {% url "别名" 2018 "nb" %}
                2. 视图函数中
                    传位置参数:
                        reverse("别名", args=(2018, "nb"))
                
                    传关键字参数:
                        reverse("别名" kwargs={"year": 2018, "title": "nb"})
            4. namespace
                为了防止不同的app下面的url匹配模式有重复的别名

反向解析URL

视图函数中

 无参数

有参数

reverse("别名" kwargs={"year": 2018, "title": "nb"})

模板语言中

 {% url "别名" 2018 "nb" %}

命名空间模式

即使不同的APP使用相同的URL名称,URL的命名空间模式也可以让你唯一反转命名的URL。

参考:https://www.cnblogs.com/liwenzhou/articles/8271147.html#autoid-1-5-0

猜你喜欢

转载自www.cnblogs.com/112358nizhipeng/p/10358053.html