Django – 管理员 – 带’*’的必填字段
目前,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一样),但在我看来,不值得努力改变一些星号. (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |