使用 changelist_view 在 django admin 中重定向
Posted
技术标签:
【中文标题】使用 changelist_view 在 django admin 中重定向【英文标题】:Redirect in django admin with changelist_view 【发布时间】:2018-11-20 21:33:04 【问题描述】:我想在 django 管理面板中重定向来自:
http://127.0.0.1:8000/admin/events/event/
到:
http://127.0.0.1:8000/admin/events/event/?date__lt=2018-6-11
但我得到了一个错误:
未找到带有关键字参数“'date__lt': datetime.date(2018, 6, 11)' 的“events_event_changelist”的反向操作。尝试了 1 种模式:['admin/events/event/$']
这是我的代码:
def changelist_view(self, request, extra_context=None):
if not request.method != 'GET':
print(datetime(2018, 6, 11))
url = reverse('admin:events_event_changelist', kwargs='date__lt': date.today())
return HttpResponseRedirect(url)
请告诉我哪里出错了
【问题讨论】:
【参考方案1】:这些不是 URL 模式的一部分,它们只是查询字符串参数。不要将它们作为 kwargs 传递给反转,将它们附加到结果中。
url = '?date__lt='.format(reverse('admin:events_event_changelist'), date.today())
【讨论】:
感谢您的回答,但我的终端出现空白页和许多输出:11/Jun/2018 17:32:57] "GET /admin/events/event/?date__lt=2018-06-11 HTTP/1.1" 302 0
【参考方案2】:
尝试日期格式 07/02/2018(月/日/年) 就像丹尼尔建议的那样(但有格式):
url = '?date__lt='.format(reverse('admin:events_event_changelist'), datetime.date.today().strftime('%m/%d/%Y'))
【讨论】:
以上是关于使用 changelist_view 在 django admin 中重定向的主要内容,如果未能解决你的问题,请参考以下文章
django admin changelist_view 中的自定义 html 字段
launch_map: "Dict[asyncio.Task[object], threading.Thread]" = -Error While Creating Djan