我正在尝试使用markdown来避免在我的wiki表单中键入HTML,但由于某种原因,表单显示HTML代码而不是预期的格式。
我的视图功能如下:
from django.shortcuts import render_to_response
from mywiki.wiki.models import Page
from django.http import HttpResponseRedirect
import markdown
def view_page(request, page_name):
try:
page = Page.objects.get(pk=page_name)
except Page.DoesNotExist:
return render_to_response('create.html', {'page_name':page_name})
content = page.content
return render_to_response('view.html', {'page_name':page_name, 'content':markdown.markdown(content)})
这是我的view.html模板:
{% extends 'base.html' %}
{% load wikilink %}
{% block title %}{{page_name}}{% endblock %}
{% block content %}
<h1>{{page_name}}</h1>
{{content|wikify}}
<hr/>
<a href='/mywiki/{{page_name}}/edit/'>Edit this page?</a>
{% endblock %}
这是我的base.html:
<html>
<head>
<title>{{% block title %}{% endblock %}</title>
</head>
<body>
<div>
Menu: <a href='/mywiki/Start/'>Start Page</a>
</div>
{% block content %}
{% endblock %}
</body>
</html>
我安装了markdown,我的Django版本是1.4.1(Mac)。
感谢。
答案 0 :(得分:19)
使用Django的safe filter,以便您的Html不被转义。
{{ content|safe }}
答案 1 :(得分:1)
{% autoescape off %}
{{content|wikify}}
{% endautoescape %}
也许......