【问题标题】:Redirect in django admin with changelist_view使用 changelist_view 在 django admin 中重定向
【发布时间】: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)

请告诉我哪里出错了

【问题讨论】:

    标签: python django redirect django-admin admin


    【解决方案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'))
    

    【讨论】:

      猜你喜欢
      • 2011-04-18
      • 2011-02-06
      • 2013-05-13
      • 2018-04-28
      • 2018-05-08
      • 2010-12-15
      • 2012-06-29
      • 1970-01-01
      • 2014-02-27
      相关资源
      最近更新 更多