python3.8 安裝和使用 Ueditor 富文本

1.DjangoUeditor的安裝與配置

pip install DjangoUeditor -i https://pypi.doubanio.com/simple

(python38_imooc) C:\python_practice\wleducation>pip install DjangoUeditor -i https://pypi.doubanio.com/simple

Looking in indexes: https://pypi.doubanio.com/simple

Collecting DjangoUeditor

? Using cached DjangoUeditor-1.8.143-py3-none-any.whl

Installing collected packages: DjangoUeditor

Successfully installed DjangoUeditor-1.8.143

運(yùn)行有問題:

? File "C:\python_envs\python38_imooc\lib\site-packages\DjangoUeditor\models.py", line 4, in <module>

? ? from widgets import UEditorWidget,AdminUEditorWidget

ModuleNotFoundError: No module named 'widgets'

采用網(wǎng)上修改好的版本DjangoUeditor3

git clone git@github.com:twz915/DjangoUeditor3.git

1). settings.py

sys.path.insert(0, os.path.join(BASE_DIR, 'extra_apps')) # 把extra_apps文件夾添加到搜索目錄中

卸載上面安裝的 DjangoUeditor

2) pip unstall? DjangoUeditor

3) 復(fù)制 clode git 上面的 DjangoUeditor? 到? extra_apps? 目錄下面

4) 需要修改 里面的six 等不匹配的python

vires.py

# from django.utils.six.moves.urllib.request import urlopen

# from django.utils.six.moves.urllib.parse import urljoin

from urllib.request import urlopen as urlopen

from six.moves.urllib.parse import urljoin

commands.py

# from django.utils.six.moves.urllib.parse import urljoin

from urllib.parse import urljoin

2. 在INSTALL_APPS里面增加如下配置:

INSTALLED_APPS = (

? # 添加 ueditor 富文本編輯器

'DjangoUeditor',

)

3赴肚、在setting.py的其他配置

UEDITOR_SETTINGS = {

? ? ? ? ? ? ? ? ? ? ? "toolbars": {? # 定義多個(gè)工具欄顯示的按鈕锄蹂,允行定義多個(gè)

? ? ? ? ? ? ? ? ? ? ? ? ? "name1": [['source', '|', 'bold', 'italic', 'underline']],

? ? ? ? ? ? ? ? ? ? ? ? ? "name2": []

? ? ? ? ? ? ? ? ? },

? ? ? ? ? ? ? ? ? "images_upload":{

? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? "allow_type": "jpg,png",? # 定義允許的上傳的圖片類型

? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? "max_size": "2222kb"? # 定義允許上傳的圖片大小罚缕,0代表不限制

? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? },

? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? "files_upload": {

? ? "allow_type": "zip,rar",? # 定義允許的上傳的文件類型

? ? "max_size": "2222kb"? # 定義允許上傳的文件大小,0代表不限制

},

"image_manager": {

? ? "location": ""? # 圖片管理器的位置,如果沒有指定帮哈,默認(rèn)跟圖片路徑上傳一樣

},

}

MEDIA_URL='/upload/'

MEDIA_ROOT = os.path.join(BASE_DIR, 'upload/')#這個(gè)是在瀏覽器上訪問該上傳文件的url的前綴

說明:

UEditorField繼承自models.TextField,因此你可以直接將model里面定義的models.TextField直接改成UEditorField即可。

UEditorField提供了額外的參數(shù):

? ? toolbars:配置你想顯示的工具欄,取值為mini,normal,full,besttome, 代表小愉择,一般匪凡,全部,涂偉忠貢獻(xiàn)的一種樣式膊畴。如果默認(rèn)的工具欄不符合您的要求,您可以在settings里面配置自己的顯示按鈕病游。參見后面介紹唇跨。

? ? imagePath:圖片上傳的路徑,如"images/",實(shí)現(xiàn)上傳到"{{MEDIA_ROOT}}/images"文件夾

? ? filePath:附件上傳的路徑,如"files/",實(shí)現(xiàn)上傳到"{{MEDIA_ROOT}}/files"文件夾

? ? scrawlPath:涂鴉文件上傳的路徑,如"scrawls/",實(shí)現(xiàn)上傳到"{{MEDIA_ROOT}}/scrawls"文件夾,如果不指定則默認(rèn)=imagepath

? ? imageManagerPath:圖片管理器顯示的路徑,如"imglib/",實(shí)現(xiàn)上傳到"{{MEDIA_ROOT}}/imglib",如果不指定則默認(rèn)=imagepath衬衬。

? ? options:其他UEditor參數(shù)买猖,字典類型。參見Ueditor的文檔ueditor_config.js里面的說明滋尉。

? ? css:編輯器textarea的CSS樣式

? ? width玉控,height:編輯器的寬度和高度,以像素為單位狮惜。

3高诺、配置url

from django.conf.urls.static import static

from django.conf import settings

? ? url(r'^ueditor/', include('DjangoUeditor.urls')),

] + static(settings.MEDIA_URL, document_root=settings.MEDIA_ROOT)

4.配置 models.py

class Question(models.Model):

? ? # 富文本 我試過很多其他的富文本

? ? # content = HTMLField(verbose_name='內(nèi)容')

? ? # content = MarkdownField(verbose_name='內(nèi)容')

? ? # content = models.TextField(verbose_name='內(nèi)容')

? ? #ckeditor.fields.RichTextField 不支持上傳文件的富文本字段

? ? #

? ? question_context = UEditorField(verbose_name='內(nèi)容', height=500, width=1000,

? ? ? ? ? ? ? ? ? ? ? ? ? default=u'', imagePath="media/%%Y/%%m/",

? ? ? ? ? ? ? ? ? ? ? ? ? toolbars='full', filePath='%%Y/%%m/',

? ? ? ? ? ? ? ? ? ? ? ? ? upload_settings={"imageMaxSize": 1204000},

? ? ? ? ? ? ? ? ? ? ? ? ? settings={}, command=None, )

5. 配置 admin.py

class QuestionAdminForm(forms.ModelForm):

? ? class Meta:

? ? ? ? model = Question

? ? ? ? fields = "__all__"

class QuestionAdmin(admin.ModelAdmin):

? ? form = QuestionAdminForm

admin.site.register(Question, QuestionAdmin)

6. 測試運(yùn)行:

測試沒有問題,感覺頁面插件更改豐富一些碾篡。

?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
  • 序言:七十年代末懒叛,一起剝皮案震驚了整個(gè)濱河市,隨后出現(xiàn)的幾起案子耽梅,更是在濱河造成了極大的恐慌薛窥,老刑警劉巖,帶你破解...
    沈念sama閱讀 221,576評論 6 515
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件眼姐,死亡現(xiàn)場離奇詭異诅迷,居然都是意外死亡,警方通過查閱死者的電腦和手機(jī)众旗,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 94,515評論 3 399
  • 文/潘曉璐 我一進(jìn)店門罢杉,熙熙樓的掌柜王于貴愁眉苦臉地迎上來,“玉大人贡歧,你說我怎么就攤上這事滩租「承悖” “怎么了?”我有些...
    開封第一講書人閱讀 168,017評論 0 360
  • 文/不壞的土叔 我叫張陵律想,是天一觀的道長猎莲。 經(jīng)常有香客問我,道長技即,這世上最難降的妖魔是什么著洼? 我笑而不...
    開封第一講書人閱讀 59,626評論 1 296
  • 正文 為了忘掉前任,我火速辦了婚禮而叼,結(jié)果婚禮上身笤,老公的妹妹穿的比我還像新娘。我一直安慰自己葵陵,他們只是感情好液荸,可當(dāng)我...
    茶點(diǎn)故事閱讀 68,625評論 6 397
  • 文/花漫 我一把揭開白布。 她就那樣靜靜地躺著脱篙,像睡著了一般莹弊。 火紅的嫁衣襯著肌膚如雪。 梳的紋絲不亂的頭發(fā)上涡尘,一...
    開封第一講書人閱讀 52,255評論 1 308
  • 那天忍弛,我揣著相機(jī)與錄音,去河邊找鬼考抄。 笑死细疚,一個(gè)胖子當(dāng)著我的面吹牛,可吹牛的內(nèi)容都是我干的川梅。 我是一名探鬼主播疯兼,決...
    沈念sama閱讀 40,825評論 3 421
  • 文/蒼蘭香墨 我猛地睜開眼,長吁一口氣:“原來是場噩夢啊……” “哼!你這毒婦竟也來了?” 一聲冷哼從身側(cè)響起萤悴,我...
    開封第一講書人閱讀 39,729評論 0 276
  • 序言:老撾萬榮一對情侶失蹤,失蹤者是張志新(化名)和其女友劉穎姨裸,沒想到半個(gè)月后,有當(dāng)?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體怨酝,經(jīng)...
    沈念sama閱讀 46,271評論 1 320
  • 正文 獨(dú)居荒郊野嶺守林人離奇死亡傀缩,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點(diǎn)故事閱讀 38,363評論 3 340
  • 正文 我和宋清朗相戀三年,在試婚紗的時(shí)候發(fā)現(xiàn)自己被綠了农猬。 大學(xué)時(shí)的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片赡艰。...
    茶點(diǎn)故事閱讀 40,498評論 1 352
  • 序言:一個(gè)原本活蹦亂跳的男人離奇死亡,死狀恐怖斤葱,靈堂內(nèi)的尸體忽然破棺而出慷垮,到底是詐尸還是另有隱情揖闸,我是刑警寧澤,帶...
    沈念sama閱讀 36,183評論 5 350
  • 正文 年R本政府宣布料身,位于F島的核電站汤纸,受9級特大地震影響,放射性物質(zhì)發(fā)生泄漏惯驼。R本人自食惡果不足惜蹲嚣,卻給世界環(huán)境...
    茶點(diǎn)故事閱讀 41,867評論 3 333
  • 文/蒙蒙 一递瑰、第九天 我趴在偏房一處隱蔽的房頂上張望祟牲。 院中可真熱鬧,春花似錦抖部、人聲如沸说贝。這莊子的主人今日做“春日...
    開封第一講書人閱讀 32,338評論 0 24
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽乡恕。三九已至,卻和暖如春俯萎,著一層夾襖步出監(jiān)牢的瞬間傲宜,已是汗流浹背。 一陣腳步聲響...
    開封第一講書人閱讀 33,458評論 1 272
  • 我被黑心中介騙來泰國打工夫啊, 沒想到剛下飛機(jī)就差點(diǎn)兒被人妖公主榨干…… 1. 我叫王不留函卒,地道東北人。 一個(gè)月前我還...
    沈念sama閱讀 48,906評論 3 376
  • 正文 我出身青樓撇眯,卻偏偏與公主長得像报嵌,于是被迫代替她去往敵國和親。 傳聞我的和親對象是個(gè)殘疾皇子熊榛,可洞房花燭夜當(dāng)晚...
    茶點(diǎn)故事閱讀 45,507評論 2 359

推薦閱讀更多精彩內(nèi)容