0

我的博客需要 Markdown 语法。我决定使用python-markdown2 库。我遵循 TDD 流程,因此我创建了导入 Markdown 库的测试,并且它可以正常工作。然后我只需要转换一些输出,以便所有测试都通过。我认为它更像是一个演示逻辑,所以我创建了模板标签,我想在其中导入库......据我所知。问题是我无法导入该库!我调试了几个小时,仍然找不到原因。

几个事实:

  1. 它之前是在tests.py中导入的(所以它确实存在),
  2. 不使用外部库,模板标签工作正常;

准确的错误信息:

TemplateSyntaxError at /article/1/foo-bar/
'cheese' is not a valid tag library: ImportError raised loading blog.templatetags.cheese: cannot import name markdown

这是templatetags/cheese.py

from django import template
import markdown2

register = template.Library()


@register.filter
def eggs(value):
    return value

这是模板:

{% load cheese %}

PS如果需要,完整的错误所有代码

4

2 回答 2

1

回溯显示了您的 github 存储库中不存在的内容:在 templatetags 目录中有一个名为 的文件,该文件在文件出现时markdown2.py导入。删除此文件,它应该会找到正确的文件。cheeseimport markdown2

于 2012-09-02T15:31:20.693 回答
0

从控制台,在项目目录中激活您的 Virtualenv,尝试:

pip install markdown2

这对我有帮助,遇到同样的问题。我已经检查过,使用

pip freeze

实际上并没有安装 markdown2,甚至认为它已在 PyCharm 中显示。

于 2016-07-22T15:51:32.310 回答