You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何从Django URL路径中提取URL名称及路径信息?

提取Django URLPattern中的路径与名称

直接修改你的视图代码,利用Django URLPattern 对象的属性来提取所需内容:

def siteurls_view(request):
    path_list = urls.main_urlpatterns
    # 初始化两个空列表分别存路径和名称
    url_paths = []
    url_names = []

    for p in path_list:
        # 提取URL路径(对应path()的第一个参数)
        url_paths.append(p.pattern.route)
        # 提取URL名称(对应path()的name参数)
        if p.name:
            url_names.append(p.name)
    
    # 后续可根据需求使用这两个列表,比如传入模板渲染
    context = {
        'url_paths': url_paths,
        'url_names': url_names
    }
    return render(request, 'your_template.html', context)

关键说明:

  • p.pattern.route:获取URL定义里的路径字符串,比如'consumptions_points/send/'
  • p.name:获取URL的名称,比如'send_consumptions_points'
  • 加入if p.name判断是为了兼容没有设置name参数的URL,避免报错

如果想简化代码,也可以用列表推导式:

def siteurls_view(request):
    path_list = urls.main_urlpatterns
    url_paths = [p.pattern.route for p in path_list]
    url_names = [p.name for p in path_list if p.name]
    
    context = {'url_paths': url_paths, 'url_names': url_names}
    return render(request, 'your_template.html', context)

内容的提问来源于stack exchange,提问作者gilvictor

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.08.17 16:05:48