关于Django第三方的一些闲言碎语

Django 是一个强大的web开发框架,经常借助的第三方做个总结。主要是配置流程。

一、富文本编辑器 

  借助富文本编辑器,网站的编辑人员能够像使用offfice一样编写出漂亮的、所见即所得的页面。此处以tinymce为例,其它富文本编辑器的使用也是类似的。

1、在虚拟环境中安装包。

pip install django-tinymce==2.6.0

2、在配置文件中进行配置

INSTALLED_APPS = (
    ...
    'tinymce',
)
# settings.py文件中配置
TINYMCE_DEFAULT_CONFIG = {
    'theme': 'advanced', #设置主题
    'width': 600,
    'height': 400,
}
# urls.py中配置编辑器url
urlpatterns = [
    ...
    url(r'^tinymce/', include('tinymce.urls')), # 固定写法,其实是映射到人家写好的应用
]

3、配置完成之后就可以使用富文本编辑器,有两种途经。一是在后台管理页面上显示,提供给后台输入数据。二是在前端页面显示,下面分别列出使用方法。

(一)后台管理页面使用富文本

1)在booktest/models.py中,定义模型的属性为HTMLField()类型。

from django.db import models
from tinymce.models import HTMLField #导入这个类型

class GoodsInfo(models.Model):
  gcontent=HTMLField() # 定义HTML类型的字段

2)生成迁移文件并且执行迁移。

python manage.py makemigrations
python manage.py migrate

3)在booktest/admin.py中注册模型类GoodsInfo

from django.contrib import admin
from models import *
class GoodsInfoAdmin(admin.ModelAdmin):
    list_display = ['id']

admin.site.register(GoodsInfo,GoodsInfoAdmin)

(二)前端页面使用富文本 

1、def editor(request):
    return render(request, 'booktest/editor.html')
2、url(r'^editor/',views.editor),
3、
<html>   <head> <title>自定义使用tinymce</title> <script type="text/javascript" src='/static/js/tiny_mce.js'></script> <script type="text/javascript"> tinyMCE.init({ 'mode':'textareas', 'theme':'advanced', 'width':400, 'height':100 }); </script> </head> <body> <form method="post" action="#"> <textarea name='gcontent'>哈哈,这是啥呀</textarea> </form> </body> </html> 4、STATICFILES_DIRS=[ os.path.join(BASE_DIR,'statics'), ] 5、/home/python/.virtualenvs/py_django/lib/python2.7/site-packages/tinymce/static/tiny_mce 6、http://127.0.0.1:8000/editor/

  

 

 

 
原文地址:https://www.cnblogs.com/yezefei/p/7296177.html