Django admin注册CEOSetting模型后仅显示title字段其余内容缺失原因问询
问题根本原因
你遇到的Django admin后台仅展示title字段、其余内容全部缺失的问题,核心原因是title字段的help_text中包含了未被正确转义的</title>闭合标签:
Django admin渲染表单页面时,字段的help_text会直接插入到页面HTML结构中,非法的</title>标签会提前闭合页面原生的<title>标签,导致<head>标签之后的所有表单DOM内容、底部操作按钮代码都被浏览器判定为无效内容,直接跳过渲染,最终仅能看到</title>标签插入位置之前渲染完成的title字段。
修复方案
- 方案1:仅需展示
<title>文本,无需额外HTML格式
直接在help_text中写入普通文本即可,Django默认会自动转义HTML特殊字符,不会触发标签解析:
title = models.CharField('Заголовок', help_text='Содержимое тега <title>. Так-же поддерживает переменные.', max_length=200, blank=True)
- 方案2:需要在
help_text中使用自定义HTML格式
使用django.utils.safestring.mark_safe包裹内容,同时确保所有HTML标签合法闭合,不会破坏页面原生结构:
from django.utils.safestring import mark_safe class CEOSetting(models.Model): title = models.CharField( 'Заголовок', help_text=mark_safe('Содержимое тега <code><title></code>. Так-же поддерживает переменные.'), max_length=200, blank=True ) # 其余字段保持不变
内容的提问来源于stack exchange,提问作者David
相关产品推荐
相关产品推荐

