Chinaunix首页 | 论坛 | 博客
  • 博客访问: 314062
  • 博文数量: 60
  • 博客积分: 2781
  • 博客等级: 少校
  • 技术积分: 600
  • 用 户 组: 普通用户
  • 注册时间: 2010-05-23 16:42
文章分类

全部博文(60)

文章存档

2011年(33)

2010年(27)

分类: Python/Ruby

2011-05-24 06:54:29

最近在写基于Django框架的个人博客,admin中打算集成WMD编辑器,找了一些资料,发现django-wmd-editor能够很好的满足需要,配置过程记录如下。

  • 下载django-wmd-editor到你的项目文件夹中
  1. git clone git://github.com/scrum8/django-wmd-editor.git project_dir/wmd
  • 更改项目的settings.py,在INSTALLED_APPS列表中添加三项
  1. 'django.contrib.markup', # For python markdown syntax
  2. 'django.contrib.staticfiles', # For static files
  3. 'wmd', # your wmd editor app
  • 根据不同的运行环境Development还是Production,配置settings.py中的static路径
  1. import os
  2. PROJECT_ROOT = os.path.abspath(os.path.dirname(__file__))

  3. # For Development
  4. STATIC_URL = '/static/'

  5. STATICFILES_DIRS = (
  6.     os.path.join(PROJECT_ROOT, 'static/'),
  7. )

  8. # For Production
  9. STATIC_ROOT = os.path.join(PROJECT_ROOT, 'static/')

  10. STATIC_URL = '/static/'
  • 运行以下命令
  1. python manage.py collectstatic
  • 完成collectstatic命令后,会发现项目目录中多出了static目录,里面有admin和wmd两个子目录,wmd目录中包含的就是编辑器需要的css和js文件

  • 添加wmd编辑器到需要的model field中,如何做?请看以下示例
  1. # 假设有Blog app,修改其models.py文件
  2. from markdown import markdown # 确认已经安装python markdown工具
  3. from wmd import models as wmd_models

  4. class Blog(models.Model):
  5.     ...
  6.     ...
  7.     content = wmd_models.MarkDownField() # 而不是熟悉的models.TextField()
  8.     content_html = wmd_models.MarkDownField(editable = False, blank = True)
  9.     ...
  10.     ...
  11.     def save(self, force_insert = False, force_update = False):
  12.         self.content_html = markdown(self.content)
  13.         super(Entry, self).save(force_insert, force_update)
  • 完成以上配置后,进入admin site后添加blog的时候就会发现content已经添加了wmd编辑器了。
如果有问题,大家再讨论,我也是个新手,在实践中学习,嘿嘿。
阅读(7401) | 评论(2) | 转发(0) |
给主人留下些什么吧!~~

applesun2011-05-24 12:00:13

小雅贝贝: 不错啊。呵呵,以后要多多分享好的博文哦~.....
恩啊,谢谢鼓励!~

小雅贝贝2011-05-24 09:40:32

不错啊。呵呵,以后要多多分享好的博文哦~