Django中如何使用Markdown 編輯器,相信很多沒有經(jīng)驗(yàn)的人對此束手無策,為此本文總結(jié)了問題出現(xiàn)的原因和解決方法,通過這篇文章希望你能解決這個問題。
成都創(chuàng)新互聯(lián)公司專注為客戶提供全方位的互聯(lián)網(wǎng)綜合服務(wù),包含不限于網(wǎng)站建設(shè)、網(wǎng)站設(shè)計、蘇州網(wǎng)絡(luò)推廣、成都小程序開發(fā)、蘇州網(wǎng)絡(luò)營銷、蘇州企業(yè)策劃、蘇州品牌公關(guān)、搜索引擎seo、人物專訪、企業(yè)宣傳片、企業(yè)代運(yùn)營等,從售前售中售后,我們都將竭誠為您服務(wù),您的肯定,是我們最大的嘉獎;成都創(chuàng)新互聯(lián)公司為所有大學(xué)生創(chuàng)業(yè)者提供蘇州建站搭建服務(wù),24小時服務(wù)熱線:18980820575,官方網(wǎng)址:aaarwkj.com
基于django的markdown編輯器已經(jīng)有人封裝好了,不需要自己去造輪子。django-mdeditor 是基于Editor.md 這個前端開源庫封裝而成的。
總共涉及到兩個庫 django-mdeditor 用于 django admin 管理后臺文章編輯, markdown 用在前臺 markdown文本渲染成html 展示。
pip install django-mdeditor # 用于后臺編輯
pip install markdown # 用于前端顯示
不需要寫什么代碼,基本就是做些配置
首先 settings.py 中添加配置,將mdeditor 這個app加進(jìn)來
INSTALLED_APPS = [
... 省略 ...
'mdeditor',
]
urls.py 中添加path(注意路徑不要配錯了,前面沒有/)
path("mdeditor/", include('mdeditor.urls'))
修改models中的field的類型,之前是TextField,改成MDTextField
from mdeditor.fields import MDTextField
class Article(BaseModel):
title = models.CharField("標(biāo)題", max_length=200, editable=True, blank=True)
body = MDTextField("正文", default="", editable=True, blank=True)
將 Article 在admin中注冊后,可以看到如下效果,左邊是編輯器,右邊是預(yù)覽,很方便
部署到線上環(huán)境時,要記得執(zhí)行命令
python manage.py collectstatic
把靜態(tài)文件收集到 STATIC_ROOT 中, 否則 django-mdeditor 依賴的靜態(tài)資源找不到就沒法加載markdown編輯器出來了。
先在服務(wù)端將markdown渲染成html返回給前端處理
import markdown
def detail(request, pk):
article = get_object_or_404(Article, pk=pk)
article.body = markdown.markdown(article.body,
extensions=[
'markdown.extensions.extra',
'markdown.extensions.codehilite',
'markdown.extensions.toc',
])
return render(request, 'article/detail.html', context={'article': article})
模板代碼
<div>
{{ post.body|safe }}
</div>
看完上述內(nèi)容,你們掌握Django中如何使用Markdown 編輯器的方法了嗎?如果還想學(xué)到更多技能或想了解更多相關(guān)內(nèi)容,歡迎關(guān)注創(chuàng)新互聯(lián)行業(yè)資訊頻道,感謝各位的閱讀!
網(wǎng)站欄目:Django中如何使用Markdown編輯器
分享鏈接:http://aaarwkj.com/article46/gghseg.html
成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供面包屑導(dǎo)航、企業(yè)網(wǎng)站制作、企業(yè)建站、網(wǎng)站維護(hù)、關(guān)鍵詞優(yōu)化、外貿(mào)網(wǎng)站建設(shè)
聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶投稿、用戶轉(zhuǎn)載內(nèi)容為主,如果涉及侵權(quán)請盡快告知,我們將會在第一時間刪除。文章觀點(diǎn)不代表本網(wǎng)站立場,如需處理請聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉(zhuǎn)載,或轉(zhuǎn)載時需注明來源: 創(chuàng)新互聯(lián)