path函数中name有何作用
好久没用django了,最近重新复习下django
path有个参数name
源代码如下
def _path(route, view, kwargs=None, name=None, Pattern=None):
'''
route: 路由(可以正则表达式)
view:视图函数名称
kwargs:参数传递给目标视图
name:url取的别名
'''
if isinstance(view, (list, tuple)):
# For include(...) processing.
pattern = Pattern(route, is_endpoint=False)
urlconf_module, app_name, namespace = view
return URLResolver(
pattern,
urlconf_module,
kwargs,
app_name=app_name,
namespace=namespace,
)
elif callable(view):
pattern = Pattern(route, name=name, is_endpoint=True)
return URLPattern(pattern, view, kwargs, name)
else:
raise TypeError('view must be a callable or a list/tuple in the case of include().')
一直好奇这个name是干什么用的?
看了下网上的答案,用于模板里面
比如:
path('/index', view.index, name='i')
模板里面既可以直接访问index的路由
也可以写成下图右边这种,这样可以即使后续路由更换,也不用修改模板里面的路由了