Django之富文本(獲取內(nèi)容,設(shè)置內(nèi)容方式)
富文本
1、Rich Text Format(RTF)
微軟開發(fā)的跨平臺文檔格式,大多數(shù)的文字處理軟件都能讀取和保存RTF文檔,其實就是可以添加樣式的文檔,和HTML有很多相似的地方
圖示
2、tinymce插件
安裝插件
pip install django-tinymce
配置插件
使用
后臺管理中
HTMLField
頁面中使用
textarea
3、在后臺管理中使用
配置settings.py文件
INSTALLED_APPS 添加 tinymce 應(yīng)用 INSTALLED_APPS = [ ... # 注冊富文本應(yīng)用 'tinymce', ]
添加默認配置
# 以字典形式配置富文本框架tinymce # 作用于管理后臺中的富文本編輯器 TINYMCE_DEFAULT_CONFIG = { # 使用高級主題,備選項還有簡單主題 '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 = 將加樣式后的文本放在塊級元素中顯示 {'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; }
補充知識:Django中Form的Textarea字段
開始以為是這個樣子:
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)容了,希望能給大家一個參考,也希望大家多多支持腳本之家。
相關(guān)文章
python實現(xiàn)MySQL?數(shù)據(jù)庫表格創(chuàng)建?數(shù)據(jù)插入及獲取插入ID操作教程
這篇文章主要為大家介紹了python實現(xiàn)MySQL?數(shù)據(jù)庫表格創(chuàng)建?數(shù)據(jù)插入及獲取插入ID操作教程,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進步,早日升職加薪2023-11-11Spectral?clustering譜聚類算法的實現(xiàn)代碼
譜聚類是從圖論中演化出來的算法,它的主要思想是把所有的數(shù)據(jù)看做空間中的點,這些點之間可以用邊連接起來,今天通過本文給大家介紹Spectral?clustering譜聚類算法的實現(xiàn),感興趣的朋友一起看看吧2022-04-04