最近在写基于Django框架的个人博客,admin中打算集成WMD编辑器,找了一些资料,发现django-wmd-editor能够很好的满足需要,配置过程记录如下。
- 下载django-wmd-editor到你的项目文件夹中
- git clone git://github.com/scrum8/django-wmd-editor.git project_dir/wmd
- 更改项目的settings.py,在INSTALLED_APPS列表中添加三项
- 'django.contrib.markup', # For python markdown syntax
-
'django.contrib.staticfiles', # For static files
-
'wmd', # your wmd editor app
- 根据不同的运行环境Development还是Production,配置settings.py中的static路径
- import os
- PROJECT_ROOT = os.path.abspath(os.path.dirname(__file__))
- # For Development
-
STATIC_URL = '/static/'
-
-
STATICFILES_DIRS = (
-
os.path.join(PROJECT_ROOT, 'static/'),
-
)
-
-
# For Production
-
STATIC_ROOT = os.path.join(PROJECT_ROOT, 'static/')
-
-
STATIC_URL = '/static/'
- python manage.py collectstatic
- 完成collectstatic命令后,会发现项目目录中多出了static目录,里面有admin和wmd两个子目录,wmd目录中包含的就是编辑器需要的css和js文件
- 添加wmd编辑器到需要的model field中,如何做?请看以下示例
- # 假设有Blog app,修改其models.py文件
-
from markdown import markdown # 确认已经安装python markdown工具
-
from wmd import models as wmd_models
-
-
class Blog(models.Model):
-
...
-
...
-
content = wmd_models.MarkDownField() # 而不是熟悉的models.TextField()
-
content_html = wmd_models.MarkDownField(editable = False, blank = True)
-
...
-
...
-
def save(self, force_insert = False, force_update = False):
-
self.content_html = markdown(self.content)
-
super(Entry, self).save(force_insert, force_update)
- 完成以上配置后,进入admin site后添加blog的时候就会发现content已经添加了wmd编辑器了。
如果有问题,大家再讨论,我也是个新手,在实践中学习,嘿嘿。
阅读(7441) | 评论(2) | 转发(0) |