【问题标题】:adding line breaks and headers in django's admin interface在 django 的管理界面中添加换行符和标题
【发布时间】:2013-10-21 07:35:52
【问题描述】:

编辑:如果您要投反对票,请至少解释原因-.- 另外,如果我的帖子仍然不清楚,请阅读 cmets。我试图在 cmets 中对其进行更多解释,但如果仍然不清楚我在说什么,请告诉我,我将截屏并使用图像进行解释。

我已经创建了一个这样的模型

class Post(models.Model):
    title_of_post = models.CharField(max_length=100)
    actual_post = models.TextField()

我把这个模型放在管理界面中并启用了管理界面。现在,当我去 127.0.0.1/admin/ 并登录时,我可以添加这个模型。在 Post 模型中创建的帖子可以在主页(127.0.0.1)上看到,所以说我的“title_of_post”是“title”,我的“actual_post”是“实际帖子”,如果我去 127.0.0.1 我可以看到主页上的标题和实际帖子。问题是,当我在管理界面和 actual_post 文本框/TextField 部分时,假设我写了这个。

Something.
else

它不会识别出我在句号之后按了回车键。我试过了

Something. <br>
else

但这也没有用。期间后不会换行。从 django 管理界面中的文本框/TextField 输入信息时,有什么方法可以转到下一行?有没有办法从管理界面而不是模板中放置标题?本质上,我希望能够从管理界面创建这个 html。

<h1>Something.</h1> <br>
else

【问题讨论】:

  • 嘿,我不是对你投反对票的人,但它有点模糊你需要什么,所以我要问你一个问题来清除它:你想在 Post 中编写 html .actual_post 然后显示在首页?
  • 嗯好吧,你知道什么时候登录管理界面吗?当你得到 127.0.0.1/admin/?然后你的模型出现在那里,我的 Post 模型出现在那里。然后我可以选择添加帖子或编辑或删除帖子。当我单击“添加”以添加帖子时,它会将我带到另一个页面,该页面显示“帖子标题:”后跟一个 CharField,“实际帖子:”后跟一个 TextField。当我在文本字段中书写时,即使我按 Tab 键缩进,或按回车键创建新行,但当我提交帖子并转到我的实际网站时,没有缩进或新行。
  • @GuilhermeDaviddaCosta ,没有缩进或换行,一切都在一个段落中,即使当我在管理界面中输入它时,我使用缩进(按 Tab 键)并创建了新行按回车键……你明白我现在的意思了吗?还是我应该打印屏幕图像给你看?
  • 基本上,我为客户创建博客。我告诉客户,如果他想更新博客,他只需要去他的-Site.com/admin/,登录,然后点击“添加帖子”,然后输入帖子的标题和正文的帖子并按Enter键,然后该站点将自动更新,它确实如此。但是,当他在管理界面中输入帖子时,他使用 tab 键缩进并使用 return 键创建新行,在他创建帖子然后转到实际站点查看帖子后,帖子没有在实际站点上没有任何缩进或换行符。
  • 正如我在回答中告诉您的,您需要使用安全模板过滤器。否则django会转义html标签特殊字符,打印成无用字符串。

标签: django django-models django-templates django-admin django-views


【解决方案1】:

为了在属性中显示 html,你需要在你的模板中这样放置:

{{ post.actual_post|safe }}

safe 模板过滤器可以很好地避免在模板中转义 html 标签。

这将打印为:

Something
else

代替:

Something <br /> else

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2013-04-07
    • 2015-09-08
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2023-03-07
    • 2012-08-14
    相关资源
    最近更新 更多