Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/django/20.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
django.contrib.markup的导入错误_Django - Fatal编程技术网

django.contrib.markup的导入错误

django.contrib.markup的导入错误,django,Django,我试图在django中启用标记应用程序,并将“django.contrib.markup”添加到已安装的应用程序中,在我的模型中,我将其作为“导入标记”导入。。但是当我去db尝试添加一些东西时,我总是感到恐惧。我猜这一定是关于应用程序安装的问题,还是我遗漏了什么 我在models.py中就是这样做的: class Entry(...) title = models.CharField(verbose_name="Title", max_length=255) slug = models.Slug

我试图在django中启用标记应用程序,并将“django.contrib.markup”添加到已安装的应用程序中,在我的模型中,我将其作为“导入标记”导入。。但是当我去db尝试添加一些东西时,我总是感到恐惧。我猜这一定是关于应用程序安装的问题,还是我遗漏了什么

我在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()

非常感谢您的帮助。

我认为将
django.contrib.markup
应用程序添加到项目中,可以在模板中
{%load markup%}
(请参阅)。我想你仍然需要安装才能使用它(
sudo easy\u install Markdown
)。

你还必须确保你已经在Python路径上安装了它才能工作。

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

easy\u install会将标记安装到/home/[username]/bin目录。我使用export PYTHONPATH=/home/[username]/bin/markdown更新我的PYTHONPATH。但是我仍然得到了名为markdown error的No模块。那是怎么回事?您使用的是开发服务器还是生产服务器?如果尝试从django shell导入降价,会发生什么情况?我使用的是生产服务器。由django shell设计,它可以工作。我不知道为什么它不能与easy_install一起使用,但后来我安装了markdown lib下载源代码并手动设置,然后再次设置Python路径。然后成功了。。谢谢你的帮助;)可能是运行您的生产服务器的用户(例如apache)在其使用的python路径上没有标记。实际上,后来我发现标记库是由easy_install安装的,并且没有在我的主机中安装markdown.py文件。它只是安装了一个标记文件,没有任何文件扩展名。因为在许多网站上我看到PYTHONPATH引用了markdown.py文件,所以我尝试手动安装它。我就是这样做的;)它是{%loadmarkup%},然后允许您使用“| markdown”过滤器(以及其他过滤器)。否则,这个答案是正确的。