Django Nonrel中{%markdown%}和{%textile%}过滤器出错

时间:2011-11-14 22:36:39

标签: django markdown django-nonrel

我在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),并按预期工作。

想法?

谢谢!

1 个答案:

答案 0 :(得分:1)

好吧,新手的错误。

原来Django Nonrel找不到markdown,因为出于某种原因,它没有安装在它正在寻找的python路径中。在这种情况下,markdown安装在/usr/lib/pymodules/python2.7而不是/usr/local/lib/python2.7/dist-packages/或其他一些常用位置。所以我将markdown文件夹复制到python路径列出的地方,错误就消失了。