日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

Django框架—富文本编辑器

發布時間:2024/7/5 编程问答 42 豆豆
生活随笔 收集整理的這篇文章主要介紹了 Django框架—富文本编辑器 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.
  • 借助富文本編輯器,網站的編輯人員能夠像使用offfice一樣編寫出漂亮的、所見即所得的頁面
  • 此處以tinymce為例,其它富文本編輯器的使用也是類似的
  • 在虛擬環境中安裝包
pip install django-tinymce==2.6.0
  • 安裝完成后,可以使用在Admin管理中,也可以自定義表單使用

示例

  • 在test6/settings.py中為INSTALLED_APPS添加編輯器應用
INSTALLED_APPS = (...'tinymce', )
  • 在test6/settings.py中添加編輯器配置
TINYMCE_DEFAULT_CONFIG = {'theme': 'advanced','width': 600,'height': 400, }
  • 在test6/urls.py中配置編輯器url
urlpatterns = [...url(r'^tinymce/', include('tinymce.urls')), ]
  • 接下來介紹在Admin頁面、自定義表單頁面的使用方式

  • 在Admin中使用

    • 在booktest/models.py中,定義模型的屬性為HTMLField()類型
    from django.db import models from tinymce.models import HTMLFieldclass GoodsInfo(models.Model):gcontent=HTMLField()
    • 生成遷移
    python manage.py makemigrations

    • 遷移
    python manage.py migrate
    • 在本示例中沒有定義其它的模型類,但是數據庫中有這些表,提示是否刪除,輸入no后回車,表示不刪除,因為其它的示例中需要使用這些表

    • 遷移完成,新開終端,連接mysql,使用test2數據庫,查看表如下

    • 發現并沒有表GoodsInfo,解決辦法是刪除遷移表中關于booktest應用的數據
    delete from django_migrations where app='booktest';
    • 再次執行遷移
    python manage.py migrate
    • 成功完成遷移,記得不刪除no

    • 在booktest/admin.py中注冊模型類GoodsInfo
    from django.contrib import admin from models import * class GoodsInfoAdmin(admin.ModelAdmin):list_display = ['id']admin.site.register(GoodsInfo,GoodsInfoAdmin)
    • 運行服務器,進入admin后臺管理,點擊GoodsInfo的添加,效果如下圖

    • 在編輯器中編輯內容后保存

    顯示

    • 通過富文本編輯器產生的字符串是包含html的
    • 在數據庫中查詢如下圖

    • 在模板中顯示字符串時,默認會進行html轉義,如果想正常顯示需要關閉轉義
    • 問:在模板中怎么關閉轉義
    • 方式一:過濾器safe
    • 方式二:標簽autoescape off
    • 在booktest/views.py中定義視圖show,用于顯示富文本編輯器的內容
    from models import * ... def show(request):goods=GoodsInfo.objects.get(pk=1)context={'g':goods}return render(request,'booktest/show.html',context)
    • 在booktest/urls.py中配置url
    url(r'^show/', views.show),
    • 在templates/booktest/目錄下創建show.html模板
    <html> <head><title>展示富文本編輯器內容</title> </head> <body> id:{{g.id}} <hr> {%autoescape off%} {{g.gcontent}} {%endautoescape%} <hr> {{g.gcontent|safe}} </body> </html>
    • 運行服務器,在瀏覽器中輸入如下網址
    http://127.0.0.1:8000/show/
    • 瀏覽效果如下圖


總結

以上是生活随笔為你收集整理的Django框架—富文本编辑器的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。