当前位置: 首页 > 面试题库 >

Django管理界面中的只读模型?

卫招
2023-03-14
问题内容

如何在管理界面中将模型完全设为只读?它用于一种日志表,我在其中使用管理功能来搜索,排序,过滤等,但无需修改日志。

万一这看起来像是重复的,这不是我想要做的:

  • 我不是在寻找只读字段(即使将每个字段都设为只读也可以让你创建新记录)
  • 我不是要创建一个只读用户:每个用户都应该是只读的。

问题答案:
class ReadOnlyAdminMixin(object):
    """Disables all editing capabilities."""
    change_form_template = "admin/view.html"

    def __init__(self, *args, **kwargs):
        super(ReadOnlyAdminMixin, self).__init__(*args, **kwargs)
        self.readonly_fields = self.model._meta.get_all_field_names()

    def get_actions(self, request):
        actions = super(ReadOnlyAdminMixin, self).get_actions(request)
        del_action = "delete_selected"
        if del_action in actions:
            del actions[del_action]
        return actions

    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):
        pass

    def delete_model(self, request, obj):
        pass

    def save_related(self, request, form, formsets, change):
        pass

templates / admin / view.html

{% extends "admin/change_form.html" %}
{% load i18n %}

{% block submit_buttons_bottom %}
  <div class="submit-row">
    <a href="../">{% blocktrans %}Back to list{% endblocktrans %}</a>
  </div>
{% endblock %}

templates / admin / view.html(用于Grappelli)

{% extends "admin/change_form.html" %}
{% load i18n %}

{% block submit_buttons_bottom %}
  <footer class="grp-module grp-submit-row grp-fixed-footer">
    <header style="display:none"><h1>{% trans "submit options"|capfirst context "heading" %}</h1></header>
    <ul>
       <li><a href="../" class="grp-button grp-default">{% blocktrans %}Back to list{% endblocktrans %}</a></li>
    </ul>
  </footer>
{% endblock %}


 类似资料:
  • 主要内容:启动管理界面Django为管理活动提供随时可以使用的用户界面。 我们都知道,管理界面对于一个Web项目是十分重要的。 Django根据您的项目模型自动生成管理界面。 启动管理界面 管理界面依赖于 django.contrib 模块。若需它工作,需要确保一些模块是否导入在 myproject/settings.py 文件中的INSTALLED_APPS和MIDDLEWARE_CLASSES元组。 对于 INST

  • 问题内容: 我定义了一个包含链接图像的模型。有没有办法在模型项目列表中显示图像?我的模型如下所示: 有没有办法显示图像和标题? 问题答案: 你可以使用其他名称创建模型实例方法,允许HTML标签为其输出,并将此方法添加为列表字段。这是一个例子: 首先添加一个新方法,返回包含图像的HTML: 然后将此方法添加到列表中:

  • 第六章介绍了 Django 的管理界面,现在是该回过头来仔细了解一下的时候了。 正如我们之前多次提到过的,Django 的管理界面是该框架的杀手级特性之一,多数 Django开发人员都知道它既省时又好用。由于该管理界面极受欢迎,对 Django 开发人员来说,想对它进行定制和拓展是件很平常的事情。 第六章的最后几节介绍了定制部分管理界面的一些简单方法。进入本章之前,请先复习一下那部分资料;其中涵盖

  • 问题内容: 我将稍微简化一下情况。假设我有一个名为Lab的模型。 该字段query几乎总是与该字段相同。因此,我希望在Django管理界面中的字段中输入文本后自动填写该字段。此任务必须由jQuery脚本执行。 因此,如果我举一个例子:你想通过Django管理界面向数据库添加一个新实验室。你单击添加按钮,你将进入带有两个字段的空白表格。你手动使用诸如的值填写该字段,ABCD然后该字段应自动以相同的值

  • 本文向大家介绍Python学习之Django的管理界面代码示例,包括了Python学习之Django的管理界面代码示例的使用技巧和注意事项,需要的朋友参考一下 本文研究的主要是Python web开发框架Django的管理界面的相关内容,具体如下。 admin界面的路径,通常在my_project中已经设置好了,使用django-admin.py startproject my_project 在

  • 问题内容: 在要显示已注册模型的管理站点的根页面上,我想隐藏已注册到Django admin的多个模型。 如果我直接注销这些记录,由于添加新符号“ +”消失了,因此我无法添加新记录。 如何才能做到这一点 ? 问题答案: 基于x0nix的答案,我做了一些实验。似乎从返回空会将模型从index.html中排除,同时仍然允许你直接编辑实例。