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/