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

如何构建匹配Django export_selected_objects重定向的URL?

问题分析与解决

你忽略了核心要点:重定向生成的URL里,ct和ids是查询参数(?后面的部分),并非URL路径中的分段参数。

具体问题拆解

你的重定向代码生成的URL格式是:/export/?ct=xxx&ids=1,2,3,其中:

  • /export/是URL的路径部分
  • ct和ids是?之后的查询参数,这部分内容不会被Django的URLconf(即你写的urlpatterns)匹配,URLconf只负责匹配?之前的路径部分。

而你写的所有URL配置,都是把ct和ids当作路径里的分段(比如/export/12/3456/),和重定向的URL结构完全不匹配,所以自然无法命中。

正确的配置方式

  1. 修正URLconf
    只需要匹配/export/这个基础路径即可,不需要在URL里定义ct和ids:
from django.urls import path

from . import views

urlpatterns = [
    path('export/', views.test),
]
  1. 在视图函数中获取查询参数
    在views.test里,通过request.GET来获取这两个参数:
def test(request):
    ct = request.GET.get('ct')  # 获取ct参数
    ids_str = request.GET.get('ids')
    # 处理ids:把逗号分隔的字符串转成整数列表
    ids = [int(pk) for pk in ids_str.split(',')] if ids_str else []
    # 后续业务逻辑...

额外说明

如果你的需求是想用路径参数的形式(比如/export/12/1,2,3/),那需要修改重定向的代码,把查询参数改成路径分段,再对应调整URLconf,但根据你当前的重定向逻辑,正确的做法是匹配基础路径后在视图里取查询参数。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.24 10:54:21