gpt4 book ai didi

django - 在管理站点中重定向

转载 作者:行者123 更新时间:2023-12-04 16:28:15 32 4
gpt4 key购买 nike

我有一个名为 CMS 的应用程序,带有类别和文章。非常简单。

我覆盖 app_index.html启用基于 ajax 的拖放排序并将文章从一个类别移动到另一个类别。

现在我想在保存/删除文章或类别后重定向到 cms' app_index.html而不是模型的 change_list.html .如何才能做到这一点?

谢谢

class Category(models.Model):
order = models.IntegerField()
title = models.CharField(max_length=100)
text = models.TextField()

class Article(models.Model):
published = models.BooleanField(default=None)
images = generic.GenericRelation(Photo)
category = models.ForeignKey(Category)
title = models.CharField(max_length=100)
text = models.TextField()
order = models.IntegerField(blank = True, null = True)

Daniel 的回答完成了一半的工作:更改文章和类别后重定向。

一个不太优雅的解决方案:在 urls.py 中重定向
def redirect_cms(response):
return HttpResponseRedirect('/admin/cms/')

urlpatterns += patterns('',
(r'^admin/cms/article/$',redirect_cms),

还有其他想法吗?

最佳答案

在您的 admin子类,覆盖 response_change和/或 response_add方法。这些在管理表单保存后被调用,分别针对现有和新实例,并负责返回 HttpResponseRedirect当前会将您带到 change_list 页面。

看看django.contrib.admin.options中的原代码看看你需要做什么。

编辑 :删除可以通过两种方式进行:作为对 change_list 的操作的结果。页面,在这种情况下,您可以使用 response_action方法;或者由于更改表格上的删除,不幸的是,在这种情况下没有等效的方法。处理此问题的一种方法可能是覆盖 change_form.html应用程序模板,并删除删除链接,以便删除的唯一方法是通过更改列表。无论如何都不理想。

关于django - 在管理站点中重定向,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/1532324/

32 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com