一.安装
详见http://hackedexistence.com/project/django/video4-tinymce.html
pip install django-tinymce pip install PIL INSTALLED_APPS = ( ... 'tinymce', ) urlpatterns = patterns('', ... (r'^tinymce/', include('tinymce.urls')), ) from django.db import models from tinymce.models import HTMLField class MyModel(models.Model): ... content = HTMLField()
二.pages app
./manage.py startapp pages
三.修改pages/models.py
from django.db import models # Create your models here. class HomePage(models.Model): homecopy =models.TextField() def __unicode__(self): return 'Home Page Copy'
将tinymce 的内容复制到static/js/tiny_mce/下面
添加textarea.js
tinyMCE.init({ // 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,nonedita ble,visualchars,nonbreaking,xhtmlxtras,template,wordcount,advlist,autosave", // Theme options theme_advanced_buttons1 : "bold,italic,underline,strikethrough,|,justifyleft,justifycenter,justifyright,justifyfull,fontselect,fontsizeselect,fullscreen,code", theme_advanced_buttons2 : "bullist,numlist,|,outdent,indent,blockquote,|,undo,redo,|,link,unlink,|,forecolor,backcolor", theme_advanced_buttons3 : "tablecontrols,|,hr,sub,sup,|,charmap", theme_advanced_toolbar_location : "top", theme_advanced_toolbar_align : "left", theme_advanced_statusbar_location : "bottom", theme_advanced_resizing : true, // Example content CSS (should be your site CSS) //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: '700', height: '400' });
四.修改pages/admin.py
from django.contrib import admin from pages.models import HomePage class TinyMCEAdmin(admin.ModelAdmin): class Media: js=('/static/js/tiny_mce/tiny_mce.js','/static/js/tiny_mce/textareas.js',) admin.site.register(HomePage,TinyMCEAdmin)
五.修改pages/views.py
# Create your views here. from django.shortcuts import render_to_response from django.template import RequestContext from pages.models import HomePage def MainHomePage(request): homepage =HomePage.objects.get(pk=1) context ={'homepage':homepage} return render_to_response('index.html',context,context_instance=RequestContext(request))
六.修改urls.py
(r'^$','pages.views.MainHomePage'),
七.修改templates/index.html\
{% extends "base.html" %} {% block content %} <div id="home_copy"> {{ homepage.homecopy|safe }} </div> <a href="/beers/">View the Beers list!</a> {% endblock %}