我正在尝试在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()
非常感谢提前..
答案 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上)后,问题就消失了。