【问题标题】:Change redirect_url by overriding a method of Django admin通过覆盖 Django admin 的方法来更改 redirect_url
【发布时间】:2015-04-24 06:28:20
【问题描述】:

我想在 Django 管理页面上保存任何更改后更改我们被重定向的 url。由于 nginx 和 gunicorn 之间的反向代理设置,url 默认为 127.0.0.1:8000,我想将其更改为我的域,例如mysite.com.

参考@Ber's question,我决定重写我在django app目录下创建的admin.py中的response_change()方法如下,但由于缺乏知识,它不起作用。

from django.contrib import admin

class ModelAdmin(admin.options.ModelAdmin):
    def response_change(self, *args, **kwargs):
        redirect_url = 'mysite.com'

        super(ModelAdmin, self).response_change(*args, **kwargs)

如何改进此代码以使其正常工作?

【问题讨论】:

标签: python django methods overriding admin


【解决方案1】:

结果一直没有返回,你可以这样试试:

default = super(ModelAdmin, self).response_change(*args, **kwargs)
default.redirect_url = 'mysite.com'
return default

【讨论】:

  • 谢谢,@shellbye。我修改了代码以按照您的建议返回,但是在 Django 管理页面上保存更改后重定向 url 看起来相同。也许 response_change() 不是我要找的那个?
  • 我更新了我的答案,也许this这个问题也会对你有所帮助。
猜你喜欢
  • 2020-05-03
  • 2016-07-26
  • 2020-11-22
  • 2011-05-10
  • 1970-01-01
  • 2018-10-12
  • 2017-05-26
  • 2017-10-14
  • 1970-01-01
相关资源
最近更新 更多