允许查看,但不能更改!-Django

是否可以授予用户查看权限,但不能更改或删除。

目前,我所看到的唯一权限是“添加”,“更改”和“删除” …,但是其中没有“读取/查看”功能。

我确实需要这样做,因为有些用户只能查看管理面板,以查看已添加的内容。

回答:

在admin.py中

# Main reusable Admin class for only viewing

class ViewAdmin(admin.ModelAdmin):

"""

Custom made change_form template just for viewing purposes

You need to copy this from /django/contrib/admin/templates/admin/change_form.html

And then put that in your template folder that is specified in the

settings.TEMPLATE_DIR

"""

change_form_template = 'view_form.html'

# Remove the delete Admin Action for this Model

actions = None

def has_add_permission(self, request):

return False

def has_delete_permission(self, request, obj=None):

return False

def save_model(self, request, obj, form, change):

#Return nothing to make sure user can't update any data

pass

# Example usage:

class SomeAdmin(ViewAdmin):

# put your admin stuff here

# or use pass

在change_form.html中替换为:

{{ adminform.form.non_field_errors }}

有了这个:

<table>

{% for field in adminform.form %}

<tr>

<td>{{ field.label_tag }}:</td><td>{{ field.value }}</td>

</tr>

{% endfor %}

</table>

然后通过删除以下行来删除提交按钮:

{% submit_row %}

以上是 允许查看,但不能更改!-Django 的全部内容, 来源链接: utcz.com/qa/423787.html

回到顶部