Django版本1.11,操作系统windows 7,在pycharm的terminal中使用pip install django-tinymce下载tinymce(前提是装的python里有pip功能),当然也可以手动下载好后python setup.py install进行安装。

在网上找了好多资料,有说什么新创建个textarea.js什么的云云,还要新创建个static文件什么的,感觉挺麻烦的,因此把我的方法分享给大家。

找到使用pip安装的django-tinymce,如果没有更改路径的话,应该就是在装的python文件里的Lib->site-packages(我的是D:\Python27\Lib\site-packages),有一个tinymce文件夹。打开这个文件夹,发现这其实就是一个django模块有没有。既然是django模块,那么我们在我们自己的project里引用这个模块不就行了?

具体步骤:

1.      将tinymce文件夹复制到你自己的project里面,tinymce相当于是一个APP;

2.      在project文件夹的setting里注册tinymce:在settings.py里找到INSTALLED_APPS;

INSTALLED_APPS = (

'django.contrib.admin',

'django.contrib.auth',

'django.contrib.contenttypes',

'django.contrib.sessions',

'django.contrib.messages',

'django.contrib.staticfiles',

'tinymce',

)

3.      上面两步已经将tinymce成功引入了project,那么怎么用呢?打开你自己的app,比如我的 是blog/models.py,使用from tinymce.models import HTMLField,这里HTMLField就为我们提供了一个富文本编辑器。下面给出一个模块例子:


 # -- coding: utf-8 --
from django.db import models
from django.contrib import admin
from tinymce.models import HTMLField
# Create your models here. class BlogsPost(models.Model): title = models.CharField(max_length=150)
# body = models.TextField()
body = HTMLField()
timestamp = models.DateTimeField()
auth = models.TextField(default='秋寻草')
address = models.CharField(max_length=100, default='西安')

 

4.      如何配置tinymce:tinymce里默认的是最简单的样式,而且宽度和高度看起来也挺别扭的,需要我们自己配置,有两种配置方式。

方法1、

  打开tinymce文件,找到settings.py,打开,找到DEFAULT_CONFIG选项,这个选项是配置选项。将{'theme': "simple", 'relative_urls': False}改成:

{'theme': "advanced",'relative_urls': False,’width’:’1200’,’height’:’500’},此种富文本框还是很简单;

方法2、

  修改工程的settings.py文件。最下面添加

 TINYMCE_DEFAULT_CONFIG = {
# // General options
'mode': 'textareas',
'theme': "advanced",
'plugins': "pagebreak,style,layer,table,save,advhr,advimage,advlink,emotions,iespell,inlinepopups,insertdatetime,preview,media,searchreplace,print,contextmenu,paste,directionality,fullscreen,noneditable,visualchars,nonbreaking,xhtmlxtras,template,wordcount,advlist,autosave", # // Theme options
'theme_advanced_buttons1': "save,newdocument,|,bold,italic,underline,strikethrough,|,justifyleft,justifycenter,justifyright,justifyfull,styleselect,formatselect,fontselect,fontsizeselect,fullscreen,code",
'theme_advanced_buttons2': "cut,copy,paste,pastetext,|,search,replace,|,bullist,numlist,|,outdent,indent,blockquote,|,undo,redo,|,link,unlink,anchor,image,cleanup,|,insertdate,inserttime,preview,|,forecolor,backcolor",
'theme_advanced_buttons3': "tablecontrols,|,hr,removeformat,visualaid,|,sub,sup,|,charmap,emotions,iespell,media,advhr,|,print,|,ltr,rtl",
'theme_advanced_toolbar_location': "top",
'theme_advanced_toolbar_align': "left",
'theme_advanced_statusbar_location': "bottom",
'theme_advanced_resizing': 'true', # // content_css: "/css/style.css",
'template_external_list_url': "lists/template_list.js",
'external_link_list_url': "lists/link_list.js",
'external_image_list_url': "lists/image_list.js",
'media_external_list_url': "lists/media_list.js", # // Style formats
'style_formats': [
{'title': 'Bold text', 'inline': 'strong'},
{'title': 'Red text', 'inline': 'span', 'styles': {'color': '#ff0000'}},
{'title': 'Help', 'inline': 'strong', 'classes': 'help'},
{'title': 'Table styles'},
{'title': 'Table row 1', 'selector': 'tr', 'classes': 'tablerow'}
],
'width': '',
'height': ''
}

按照方法2配置后,我们已经成功将TinyMCE富文本编辑器整合进了我们自己的django网站项目。以下是成果图:

前台页面使用tinymce:

STEP 1:
在模板的head中添加如下代码
 <script src="/static/tiny_mce/tiny_mce.js"></script>
<script>
tinyMCE.init({
'mode':'textareas',
'theme':'advanced',
'width':450,
'height':300
})
</script>

STEP 2:

模板中添加textarea 标签,tinymce会自动把此标签变为富文本框


 <form action="">
<label>
<textarea name="comment_content">富文本</textarea>
</label>
<br>
<input type="submit" value="提交评论" class="btn btn-default">
</form>

以下是效果

 
 

Django集成TinyMCE(admin后台+前台)的更多相关文章

  1. Django学习手册 - admin后台 切换成中文显示/添加数据表

    Django admin后台管理 切换成中文界面: 站点显示为中文: 在setting 里面修改 LANGUAGE_CORE = 'zh-Hans' 字段名显示中文 class Test(models ...

  2. Django学习day8——admin后台管理和语言适应

    Django最大的优点之一,就是体贴的为你提供了一个基于项目model创建的一个后台管理站点admin.这个界面只给站点管理员使用,并不对大众开放. 1. 创建管理员用户 (django) E:\Dj ...

  3. Linux下开发python django程序(设置admin后台管理模块)

    1.新建项目和项目下APP django-admin startproject csvt03 django-admin startapp app1 2.修改settings.py文件 设置默认安装AP ...

  4. Linux下开发python django程序(设置admin后台管理上传文件和前台上传文件保存数据库)

    1.项目创建相关工作参考前面 2.在models.py文件中定义数据库结构 import django.db import modelsclass RegisterUser(models.Model) ...

  5. python3.4下django集成使用xadmin后台

    环境:window7 x64.python3.4.django1.10 一.pip install xadmin安装报错 1.使用pip install xadmin命令安装可能报如下错误: 2.解决 ...

  6. Django集成Bootstrap美化后台

    1.pip install bootstrap-admin 2.编辑项目下的settings.py,增加下面行,放在最前面 3.编辑项目下的settings.py,增加下面行

  7. django (三) admin后台系统

    admin后台系统 1. 安装MySQL 1,安装mysql: sudo apt install mysql-server   (安装过程中输入密码并牢记)   2,安装后进入mysql: mysql ...

  8. django基础知识之后台管理Admin站点:

    Admin站点 通过使用startproject创建的项目模版中,默认Admin被启用 1.创建管理员的用户名和密码 python manage.py createsuperuser 然后按提示填写用 ...

  9. Django框架详细介绍---Admin后台管理

    1.Admin组件使用 Django内集成了web管理工具,Django在启动过程中会执行setting.py文件,初始化Django内置组件.注册APP.添加环境变量等 # Application ...

随机推荐

  1. 【开发工具】Jenkins+Gitlab实现自动化部署

    我在尝试在容器中安装Jenkins时,初衷是希望使用docker in docker 的模式来实现Jenkins slave容器按需创建.在实现的时候需要在Jenkins 中安装Kubernetes插 ...

  2. web开发-CORS支持

    一.简介 Web 开发经常会遇到跨域问题,解决方案有:jsonp,iframe,CORS 等等 1.1.CORS与JSONP相比 1.JSONP只能实现GET请求,而CORS支持所有类型的HTTP请求 ...

  3. Spring cloud Eureka高可用 - 配置

    个人项目源码: https://github.com/easonstudy/cloud-demo/tree/master/eureka-peer-server Window 7 修改hosts  ht ...

  4. SQL 语句中的in、find_in_set、like的区别

    1.in查询相当于多个or条件的叠加,例如: select * from user where user_id in (1,2,3);等效于select * from user where user_ ...

  5. Sqlserver ROW_NUMBER()

    SELECT ROW_NUMBER() OVER (ORDER BY A.orderdate,A.orderid),* from Sales.Orders A

  6. CyclicBarrier的使用

    最近一直整并发这块东西,顺便写点Java并发的例子,给大家做个分享,也强化下自己记忆,如果有什么错误或者不当的地方,欢迎大家斧正. CyclicBarrier是一种多线程并发控制实用工具,和Count ...

  7. AJAX(XMLHttpRequest)进行跨域请求方法详解

    AJAX(XMLHttpRequest)进行跨域请求方法详解(三) 2010年01月11日 08:48:00 阅读数:24213 注意:以下代码请在Firefox 3.5.Chrome 3.0.Saf ...

  8. Fix: The account is not authorized to log in from this station

    If you have more the one computers running Windows, then its possible to connect them using HomeGrou ...

  9. 设计模式--适配器模式(Adapter)详解

    适配器模式将某个类的接口转换成客户端期望的另一个接口表示,目的是消除由于接口不匹配所造成的类的兼容性问题.主要分为三类:类的适配器模式.对象的适配器模式.接口的适配器模式. 01.类的适配器模式 核心 ...

  10. Photo1

    Story: 想象你是一个乡村的孩子,你有着健康的肤色,正在和家人一起坐在颠簸的马车上,赶着去城里买东西.正值夏日,黄昏的阳光晒在你的脸上,于是你的脸显得红扑扑的.路上满满的都是葱绿的草和参差不齐的树 ...