当我./manage.py runserver
时,一切都在运行。
当我将项目部署到生产服务器(Apache / mod_wsgi)时,会出现内部服务器错误(请参阅下面的日志)。如果我删除了我在其中一个模板中使用的load markup
行和一个降价过滤器,那么所有内容都会再次运行。我仔细检查了我是否安装了markdown(否则会出现不同的错误)。
错误日志:
[Sun Apr 13 15:50:39.642158 2014] [core:error] [pid 10823:tid 140116085417728] [client 98.253.57.200:35634] End of script output before headers: wsgi.py
由于Django 1.6不支持开箱即用的降价功能,因此我制作了自定义过滤器。这是模板标签文件(markup.py
):
from django import template
import markdown as mkdn
register = template.Library()
@register.filter
def markdown(text, safe_mode=None):
return mkdn.markdown(text, safe_mode='escape')
这是模板:
{% extends "base.html" %}
{% block content %}
{% load markup %}
{% for post in posts %}
{% if post.published %}
<h1> {{ post.title }} </h1>
{{ post.content | markdown }}
{% endif %}
{% endfor %}
{% endblock %}
是什么给出了?
更新:我已设法将问题确定到import markdown
行。只要加载该行,我的服务器就会产生500错误。 Markdown2似乎是一个很好的替代品,它有效。我仍然不知道最初的问题是什么。