在Django的管理界面中添加换行和标题

3

编辑: 如果你要给我一个负评,请至少解释一下原因 -.- 此外,如果我的帖子还不清楚,请阅读评论。我试图在评论中更详细地解释一些内容,但如果仍然不清楚我在说什么,请告诉我,我会截屏并使用图片进行说明。

我已经创建了一个模型,就像这样:

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

我将这个模型放在管理员界面中并启用了管理员界面。现在,当我访问127.0.0.1/admin/并登录后,我可以添加此模型。在“帖子”模型中创建的帖子可以在主页(127.0.0.1)上看到,假设我的“title_of_post”是“标题”,而我的“actual_post”是“实际帖子”,如果我访问127.0.0.1,则可以在主页上看到标题和实际帖子。问题是,当我在管理员界面中并且在“实际帖子”文本框/文本字段部分时,假设我写下这个内容。
Something.
else

它无法识别我在句号后按下回车键。我尝试过。
Something. <br>
else

但这也没有用。它不会在句号后面换行。在Django管理员界面中从文本框/TextField输入信息时,有没有办法去下一行?是否有办法从管理员界面而不是模板中放置标题?实质上,我希望能够在管理员界面中创建此HTML。

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

嘿,我不是那个给你投了反对票的人,但是你需要什么有点模糊,所以我想问你一个问题来澄清一下:你想在Post.actual_post中编写HTML,然后在主页上显示它吗? - Guilherme David da Costa
基本上,我為客戶創建博客。我告訴客戶,如果他想更新博客,只需前往his-Site.com/admin/,登錄,然後點擊“添加文章”,然後輸入文章標題和正文,然後按Enter,然後網站將自動更新,這也確實發生了。但是,當他在管理界面中輸入文章時,他使用制表符進行縮進,使用回車鍵創建新行,然後在創建文章後轉到實際網站查看文章時,該文章在實際網站上沒有任何縮進或換行。 - user2817200
简单的缩进或换行在HTML中不起作用,除非您使用<pre>标签。 - Guilherme David da Costa
@GuilhermeDaviddaCosta 对的,简单的缩进或换行在HTML中不起作用。然后我要求客户在管理界面中输入他的帖子,并告诉他每当他想要一个新行时,请键入< br />,但是这也没有起作用。在他键入< br />并通过管理界面提交帖子并查看网站后,没有出现换行符,但实际的字母'<br />'出现了。是否有办法通过TextField在管理界面中提交信息时创建换行和新行? - user2817200
1
正如我在答案中告诉你的那样,你需要使用安全模板过滤器。否则,Django将转义HTML标签的特殊字符,并打印为无用字符串。 - Guilherme David da Costa
显示剩余3条评论
1个回答

2
为了在属性中显示HTML,您需要在模板中像这样放置代码:
{{ post.actual_post|safe }}

safe模板过滤器适用于在模板中不转义HTML标签。

这将会输出如下内容:

Something
else

改为:

Something <br /> else

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接