我在Django Nonrel中使用Markdown时遇到了麻烦。我按照此instructions(已添加'django.contrib.markup'
至INSTALLED_APPS
,在模板中包含{% load markup %}
并在安装python-markdown后使用|markdown
过滤器)但我得到以下内容错误:
Error in {% markdown %} filter: The Python markdown library isn't installed.
在这一行:
/path/to/project/django/contrib/markup/templatetags/markup.py in markdown
they will be silently ignored.
"""
try:
import markdown
except ImportError:
if settings.DEBUG:
raise template.TemplateSyntaxError("Error in {% markdown %} filter: The Python markdown library isn't installed.") ...
return force_unicode(value)
else:
# markdown.version was first added in 1.6b. The only version of markdown
# to fully support extensions before 1.6b was the shortlived 1.6a.
if hasattr(markdown, 'version'):
extensions = [e for e in arg.split(",") if e]
很明显,import markdown
导致问题,但是当我跑:
$ python manage.py shell
>>> import elementtree
>>> import markdown
everthing工作正常。
运行Markdown 2.0.3,Python 2.7和最新版本的Django Nonrel。
更新:我安装了纺织品,但它不起作用。它会产生相同的错误。
更新2 :这是与Django Nonrel相关的问题。我选择了一个较旧的Django项目(1.3.1),并按预期工作。
想法?
谢谢!
答案 0 :(得分:1)
好吧,新手的错误。
原来Django Nonrel找不到markdown,因为出于某种原因,它没有安装在它正在寻找的python路径中。在这种情况下,markdown安装在/usr/lib/pymodules/python2.7
而不是/usr/local/lib/python2.7/dist-packages/
或其他一些常用位置。所以我将markdown文件夹复制到python路径列出的地方,错误就消失了。