相关疑难解决方法(0)

如何在保存模型后向django管理员显示消息?

我想在保存特定模型后向管理员显示一条消息,例如"现在启用该系列".

如果它是一个列表操作(message_user),我可以看到我如何做到这一点,但我无法从主CRUD表单中看到如何做到这一点.

有谁知道怎么样?

谢谢

django django-admin

19
推荐指数
3
解决办法
2万
查看次数

重写save_model方法时如何防止"已成功更改"消息

我试图让用户在管理员中查看记录但不保存任何内容.所以我想尝试做这样的事情:

def save_model(self, request, obj, form, change):
    """Override save method so no one can save"""
    messages.error(request, "No Changes are permitted from this screen."
        " To edit projects visit the 'Projects' table, and make sure you are"
        " in the group 'Visitor_Program_Managers'.")
Run Code Online (Sandbox Code Playgroud)

这有效但我在下一个屏幕上收到两条消息:

首先是我的消息,然后是"......成功改变了".

如何防止第二条消息?

django django-admin

10
推荐指数
2
解决办法
2666
查看次数

如何在django中将错误消息附加到form.non_field_errors?

我有一个有几个领域的表格.我通过表单验证对每个字段进行单独的验证检查.但是,在将用户重定向到不同视图之前,我还需要检查是否填写了少量字段.我希望我能以某种方式将错误附加到forms.non_field_errors,因为它不适用于特定字段,但我不确定这是什么正确的语法.我在网上查了一下,发现..

form.errors['__all__'] = form.error_class(["error msg"])
Run Code Online (Sandbox Code Playgroud)

这会显示错误消息,但它似乎也会弄乱其他页面,如果我点击其他任何内容,则会显示错误消息.

我试过了

form._errors[NON_FIELD_ERRORS] = form.error_class()
Run Code Online (Sandbox Code Playgroud)

这导致'NoneType'对象没有属性'setdefault'错误.

我试过了

form.non_field_errors().append("Please complete your profile in order to access the content.")
Run Code Online (Sandbox Code Playgroud)

这似乎没有做任何事情,我无法在视图上看到错误消息.

最好的方法是什么?理想情况下,我不想在表单的干净方法中这样做.我觉得我应该能够在视图中向表单添加错误.

python django django-forms

9
推荐指数
2
解决办法
9740
查看次数

标签 统计

django ×3

django-admin ×2

django-forms ×1

python ×1