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
頁(yè)面中使用
textarea
3、在后臺(tái)管理中使用
配置settings.py文件
INSTALLED_APPS 添加 tinymce 應(yīng)用 INSTALLED_APPS = [ ... # 注冊(cè)富文本應(yīng)用 'tinymce', ]
添加默認(rèn)配置
# 以字典形式配置富文本框架tinymce # 作用于管理后臺(tái)中的富文本編輯器 TINYMCE_DEFAULT_CONFIG = { # 使用高級(jí)主題,備選項(xiàng)還有簡(jiǎn)單主題 '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()
注冊(cè)模型
admin.site.register
4、在普通頁(yè)面使用
使用文本域盛放內(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)容方式)就是小編分享給大家的全部?jī)?nèi)容了,希望能給大家一個(gè)參考,也希望大家多多支持腳本之家。
相關(guān)文章
python實(shí)現(xiàn)MySQL?數(shù)據(jù)庫(kù)表格創(chuàng)建?數(shù)據(jù)插入及獲取插入ID操作教程
這篇文章主要為大家介紹了python實(shí)現(xiàn)MySQL?數(shù)據(jù)庫(kù)表格創(chuàng)建?數(shù)據(jù)插入及獲取插入ID操作教程,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進(jìn)步,早日升職加薪2023-11-11解決keras加入lambda層時(shí)shape的問(wèn)題
這篇文章主要介紹了解決keras加入lambda層時(shí)shape的問(wèn)題,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。一起跟隨小編過(guò)來(lái)看看吧2020-06-06Python字節(jié)單位轉(zhuǎn)換實(shí)例
今天小編就為大家分享一篇Python字節(jié)單位轉(zhuǎn)換實(shí)例,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。一起跟隨小編過(guò)來(lái)看看吧2019-12-12python實(shí)現(xiàn)簡(jiǎn)單的飛機(jī)大戰(zhàn)
這篇文章主要為大家詳細(xì)介紹了python實(shí)現(xiàn)簡(jiǎn)單的飛機(jī)大戰(zhàn),文中示例代碼介紹的非常詳細(xì),具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下2022-05-05Python增強(qiáng)賦值和共享引用注意事項(xiàng)小結(jié)
這篇文章主要給大家介紹了關(guān)于Python增強(qiáng)賦值和共享引用注意事項(xiàng)的相關(guān)資料,文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家學(xué)習(xí)或者使用Python具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面來(lái)一起學(xué)習(xí)學(xué)習(xí)吧2019-05-05Spectral?clustering譜聚類算法的實(shí)現(xiàn)代碼
譜聚類是從圖論中演化出來(lái)的算法,它的主要思想是把所有的數(shù)據(jù)看做空間中的點(diǎn),這些點(diǎn)之間可以用邊連接起來(lái),今天通過(guò)本文給大家介紹Spectral?clustering譜聚類算法的實(shí)現(xiàn),感興趣的朋友一起看看吧2022-04-04