Django之富文本(獲取內(nèi)容,設(shè)置內(nèi)容方式)
富文本
1、Rich Text Format(RTF)
微軟開發(fā)的跨平臺(tái)文檔格式,大多數(shù)的文字處理軟件都能讀取和保存RTF文檔,其實(shí)就是可以添加樣式的文檔,和HTML有很多相似的地方
圖示

2、tinymce插件
安裝插件
pip install django-tinymce
配置插件
使用
后臺(tái)管理中
HTMLField
頁面中使用
textarea
3、在后臺(tái)管理中使用
配置settings.py文件
INSTALLED_APPS 添加 tinymce 應(yīng)用 INSTALLED_APPS = [ ... # 注冊富文本應(yīng)用 'tinymce', ]
添加默認(rèn)配置
# 以字典形式配置富文本框架tinymce
# 作用于管理后臺(tái)中的富文本編輯器
TINYMCE_DEFAULT_CONFIG = {
# 使用高級(jí)主題,備選項(xiàng)還有簡單主題
'theme': 'advanced',
# 'theme': 'simple',
# 必須指定富文本編輯器(RTF=rich text format)的寬高
'width': 800,
'height': 600,
# 漢化
'language': 'zh',
# 自定義常用的固定樣式
'style_formats': [
# title=樣式名稱
# styles=自定義css樣式
# inline:xxx = 將加樣式后的文本放在行內(nèi)元素中顯示
# block:xxx = 將加樣式后的文本放在塊級(jí)元素中顯示
{'title': 'Bold text', 'inline': 'b'},
{'title': 'Red text', 'inline': 'span', 'styles': {'color': '#ff0000'}},
{'title': 'Red header', 'block': 'h1', 'styles': {'color': '#ff0000'}},
{'title': 'Example 1', 'inline': 'span', 'classes': 'example1'},
{'title': 'Example 2', 'inline': 'span', 'classes': 'example2'},
{'title': 'Table styles'},
{'title': 'Table row 1', 'selector': 'tr', 'classes': 'tablerow1'}
],
}
創(chuàng)建模型類
from tinymce.models import HTMLField class Blog(models.Model): sBlog = HTMLField()
注冊模型
admin.site.register
4、在普通頁面使用
使用文本域盛放內(nèi)容
<form method='post' action='url'> <textarea></textarea> </form>
添加腳本
<script src='/static/tiny_mce/tiny_mce.js'></script>
<script>
tinyMCE.init({
'mode': 'textareas',
'theme': 'simple',
'theme': 'advanced',
'width': 800,
'height': 600,
'language': 'zh',
'style_formats': [
{'title': 'Bold text', 'inline': 'b'},
{'title': 'Red text', 'inline': 'span', 'styles': {'color': '#ff0000'}},
{'title': 'Red header', 'block': 'h1', 'styles': {'color': '#ff0000'}},
{'title': 'Example 1', 'inline': 'span', 'classes': 'example1'},
{'title': 'Example 2', 'inline': 'span', 'classes': 'example2'},
{'title': 'Table styles'},
{'title': 'Table row 1', 'selector': 'tr', 'classes': 'tablerow1'}
],
})
</script>
本質(zhì)上還是使用html的樣式。
5、利用js獲取富文本內(nèi)容和設(shè)置內(nèi)容給富文本
//editorId是富文本的id
function SetTinyMceContent(editorId, content) {
//給富文本編輯器設(shè)置內(nèi)容
tinyMCE.getInstanceById(editorId).getBody().innerHTML = content;
//獲取富文本編輯器的內(nèi)容
var con = tinyMCE.getInstanceById(editorId).getBody().innerHTML;
}
補(bǔ)充知識(shí):Django中Form的Textarea字段
開始以為是這個(gè)樣子:
class BlogForm(forms.Form): title = forms.CharField(required = True) content = forms.Textarea()
查看文檔發(fā)現(xiàn)是:
from django import forms class BlogForm(forms.Form): title = forms.CharField(required = True) content = forms.CharField(widget=forms.Textarea)
以上這篇Django之富文本(獲取內(nèi)容,設(shè)置內(nèi)容方式)就是小編分享給大家的全部內(nèi)容了,希望能給大家一個(gè)參考,也希望大家多多支持腳本之家。
相關(guān)文章
Python實(shí)現(xiàn)RabbitMQ6種消息模型的示例代碼
這篇文章主要介紹了Python實(shí)現(xiàn)RabbitMQ6種消息模型的示例代碼,文中通過示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧2020-03-03
python 中關(guān)于pycharm選擇運(yùn)行環(huán)境的問題
這篇文章主要介紹了python 中關(guān)于pycharm選擇運(yùn)行環(huán)境的相關(guān)知識(shí),本文給大家介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或工作具有一定的參考借鑒價(jià)值,需要的朋友可以參考下2020-10-10
使用Python自建輕量級(jí)的HTTP調(diào)試工具
這篇文章主要為大家詳細(xì)介紹了如何使用Python自建一個(gè)輕量級(jí)的HTTP調(diào)試工具,文中的示例代碼講解詳細(xì),感興趣的小伙伴可以參考一下2025-04-04
Python lambda表達(dá)式用法實(shí)例分析
這篇文章主要介紹了Python lambda表達(dá)式用法,結(jié)合實(shí)例形式分析了lambda表達(dá)式的具體功能、應(yīng)用場景及相關(guān)使用技巧,需要的朋友可以參考下2018-12-12
Python Django基礎(chǔ)二之URL路由系統(tǒng)
這篇文章主要介紹了Python Django基礎(chǔ)二之URL路由系統(tǒng) 的相關(guān)資料,需要的朋友可以參考下2019-07-07
python中import與from方法總結(jié)(推薦)
這篇文章主要介紹了python中import與from方法總結(jié),文中通過示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧2019-03-03
關(guān)于Pandas?count()與values_count()的用法及區(qū)別
這篇文章主要介紹了關(guān)于Pandas?count()與values_count()的用法及區(qū)別,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。如有錯(cuò)誤或未考慮完全的地方,望不吝賜教2022-05-05

