我想在保存特定模型后向管理员显示一条消息,例如"现在启用该系列".
如果它是一个列表操作(message_user),我可以看到我如何做到这一点,但我无法从主CRUD表单中看到如何做到这一点.
有谁知道怎么样?
谢谢
我试图让用户在管理员中查看记录但不保存任何内容.所以我想尝试做这样的事情:
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)
这有效但我在下一个屏幕上收到两条消息:
首先是我的消息,然后是"......成功改变了".
如何防止第二条消息?
我有一个有几个领域的表格.我通过表单验证对每个字段进行单独的验证检查.但是,在将用户重定向到不同视图之前,我还需要检查是否填写了少量字段.我希望我能以某种方式将错误附加到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)
这似乎没有做任何事情,我无法在视图上看到错误消息.
最好的方法是什么?理想情况下,我不想在表单的干净方法中这样做.我觉得我应该能够在视图中向表单添加错误.