使用changelist_view在django admin中重定向

时间:2018-06-11 15:15:33

标签: python django redirect django-admin admin

我想在django管理面板中重定向:

http://127.0.0.1:8000/admin/events/event/

为:

http://127.0.0.1:8000/admin/events/event/?date__lt=2018-6-11

但我收到了一个错误:

Reverse for 'events_event_changelist' with keyword arguments '{'date__lt': datetime.date(2018, 6, 11)}' not found. 1 pattern(s) tried: ['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)

请告诉我哪里出错了

2 个答案:

答案 0 :(得分:1)

这些不是URL模式的一部分,它们只是查询字符串参数。不要将它们作为kwargs传递来反转,将它们附加到结果中。

 url = '{}?date__lt={}'.format(reverse('admin:events_event_changelist'), date.today())

答案 1 :(得分:0)

尝试日期格式07/02/2018(月/日/年) 就像丹尼尔(Daniel)所建议的(但格式):

url = '{}?date__lt={}'.format(reverse('admin:events_event_changelist'), datetime.date.today().strftime('%m/%d/%Y'))