Próbuję użyć przecinania, aby uniknąć konieczności pisania kodu HTML w formularzu wiki, ale z jakiegoś powodu formularz wyświetla kod HTML zamiast zamierzonego formatowania.HTML nie renderowany w polu tekstowym Django
Moim zdaniem funkcja jest następująca:
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)})
To mój view.html szablon:
{% 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 %}
A to moja 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>
zrobić zainstalowano przecenę, a moja wersja Django to 1.4.1 (Mac).
Dzięki.
https://stackoverflow.com/questions/2080559/disable-html-escaping-in-djangos-textfield – ammarx