加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 编程开发 > Python > 正文

Django – 管理员 – 带’*’的必填字段

发布时间:2020-12-20 12:26:28 所属栏目:Python 来源:网络整理
导读:目前,Django管理员将使用粗体标签显示所有必填字段.是否可以在标签中标记*而不是粗体标签? 解决方法 Django管理员使用模板来呈现模型的添加/编辑页面.可以使用您自己的模板(从原始模板扩展)替换该模板,覆盖您需要的模板块,以便进行所需的更改. 查看the Djan
目前,Django管理员将使用粗体标签显示所有必填字段.是否可以在标签中标记*而不是粗体标签?

解决方法

Django管理员使用模板来呈现模型的添加/编辑页面.可以使用您自己的模板(从原始模板扩展)替换该模板,覆盖您需要的模板块,以便进行所需的更改.

查看the Django docs regarding overriding admin templates以获取更多信息.

这是您需要以某种方式更改的admin/change_form.html template(因为此模板会在您添加新实例或编辑现有实例时呈现显示的页面).现有模板已经将必需的类应用于适当的标签,因此我将创建一个如下所示的新模板:

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

{% block extrastyle %}
    {{ block.super }}
    <style type="text/css">
        /* add an asterisk using CSS */
        .required:after {
            content: " *";
        }
    </style>
{% endblock %}

适用于单一模型

如果希望将此模板用于特定模型,则应使用model admin class,将change_form_template属性(如this section of the docs中所述)设置为您创建的模板文件的位置.

适用于单个应用程序

如果您希望模板应用于整个应用程序中的模型,请在应用程序的根目录中创建模板文件夹. Django将在automatically look for templates there,所以如果你创建一个名为admin的文件夹并在其中放置一个名为change_form.html的文件,它将自动覆盖该名称的默认Django模板(admin / change_form.html).

项目范围广

为了在项目范围内应用此模板,请在某处(不在应用程序内部)创建一个名为templates的文件夹.再次将新模板放在admin / change_form.html的此目录中.

接下来edit the template directories Django setting指定此目录的位置,以便允许Django查找模板并覆盖默认模板,方法与仅在项目范围之前相同,而不仅仅是app wide.

这是一组相当复杂的事情,特别是对于这样一个简单的更改,如果您之前没有使用过管理员模板(或者即使您有),您可能会发现它很棘手.

希望你现在明白改变管理模板需要什么,它实际上相当优雅(就像Django一样),但在我看来,不值得努力改变一些星号.

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读