2012-09-13 26 views
5

Estoy intentando usar el descuento para evitar tener que escribir HTML en mi formulario de wiki, pero por alguna razón el formulario muestra código HTML en lugar del formato deseado.HTML sin representación en el campo de texto de Django

Mi función de vista es el siguiente:

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)}) 

Esta es mi plantilla 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 %} 

Y esta es mi 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> 

hago tengo markdown instalado, y mi versión de Django es 1.4.1 (Mac).

Gracias.

+0

https://stackoverflow.com/questions/2080559/disable-html-escaping-in-djangos-textfield – ammarx

Respuesta

16

de Uso Django safe filter así como para el HTML no ser escapado.

{{ content|safe }} 
+1

puede que encadenar filtros? '{{content | wikify | safe}}' –

+2

sí. es posible hasta donde yo sé. – thikonom

+0

Sí, acabo de consultar los documentos y están de acuerdo con usted (+1 para una respuesta más concisa que la mía: P) –

1
{% autoescape off %} 
{{content|wikify}} 
{% endautoescape %} 

tal vez ...

Cuestiones relacionadas