Gre*_*reg 10 django django-admin
我试图让用户在管理员中查看记录但不保存任何内容.所以我想尝试做这样的事情:
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)
这有效但我在下一个屏幕上收到两条消息:
首先是我的消息,然后是"......成功改变了".
如何防止第二条消息?
mpe*_*rwe 14
您可以隐藏某些消息并显示其他消息.在您的情况下,您有兴趣不显示成功消息.您可以执行以下操作:
def save_model(self, request, obj, form, change):
messages.set_level(request, messages.ERROR)
messages.error(request, 'No changes are permitted ..')
Run Code Online (Sandbox Code Playgroud)
对于需要以比接受的答案更灵活的方式消除自动 Django 成功消息的任何人,您可以执行以下操作:
from django.contrib import messages, admin
class ExampleAdmin(admin.ModelAdmin):
def message_user(self, *args):
pass
def save_model(self, request, obj, form, change):
super(ExampleAdmin, self).save_model(request, obj, form, change)
if obj.status == "OK":
messages.success(request, "OK!")
elif obj.status == "NO":
messages.error(request, "REALLY NOT OK!")
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
2666 次 |
| 最近记录: |