django.contrib.markup的ImportError

时间:2009-09-05 17:22:38

标签: django

我正在尝试在django中启用标记应用程序并将“django.contrib.markup”添加到安装的应用程序中,在我的模型中我将其导入为“import markdown”..但是当我转到db并尝试添加某些内容时,我总是得到importerror。我想我一定是关于app安装问题还是我错过了什么?

这是我在models.py中的方式:

class Entry(...)
title = models.CharField(verbose_name="Title", max_length=255)
slug = models.SlugField(verbose_name="Slug")
content_markdown = models.TextField(verbose_name="Markdown Content",
                                    help_text="Use Markdown syntax here.")
content = models.TextField(verbose_name="Page content as HTML", 
                           help_text="You don't have to touch here.", 
                           blank=True, null=True)
date = models.DateTimeField(verbose_name="Date Published")
author = models.ForeignKey(User, verbose_name="Author")

def save(self):
    import markdown
    self.content = markdown.markdown(self.content_markdown)
    super(Page, self).save()

非常感谢提前..

3 个答案:

答案 0 :(得分:5)

我认为将django.contrib.markup应用添加到您的项目后,您可以在模板中{% load markup %}(请参阅the official Django docs)。我认为您仍然需要安装Markdown from PyPI才能使用它(sudo easy_install Markdown)。

答案 1 :(得分:2)

您还必须确保在Python路径上安装了Markdown for Python才能实现此目的。

答案 2 :(得分:0)

我遇到和你今天一样的问题。您的解决方案有效,从源代码编译而不是使用easy_install。但我仍然不满意这个答案,为什么easy_install不起作用?我们知道django shell服务器工作,但不是生产服务器吗?解决方案非常简单,必须重启apache。我不知道为什么,但在你运行服务重启httpd(在centos上)后,问题就消失了。