Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате
Форум программистов > Python: Веб-разработка и фреймворки > [Django] Передача переменной с html в шаблон


Автор: SeTeM 7.10.2010, 19:26
Есть код:

views.py
Код

from mypr.forms import SomeForm
from django.views.generic.simple import direct_to_template
def some(request):
    form = SomeForm(request.POST or None)
    if form.is_valid():
        a = form.cleaned_data['a']
        html_a = "<h1>%s</h1>" % a
        return direct_to_template(request, 'template.html', {'form': form, 'html_a': html_a})
    return direct_to_template(request, 'template.html', {'form': form})

template.html
Код

<html>
<head>
    <title>Title</title>
</head>
<body>
    <form action="" method="post">
        <div class="field">
            {{ form.a.errors }}
            <label for="id_a">a = </label>
            {{ form.a }}
        </div>
        <input type="submit" value="Submit">
    </form>
    {% if html_a %}{{ html_a }}{% endif %}
</body>
</html>

Почему после того как страница отобразилась, текст <h1>%s</h1> так и остался текстом и в коде его нет?
http://s3.amazonaws.com/floomby/10_7_2010/vb2Q6zLVuEkYHXnW2MOgw.jpg (картинка с браузером и кодом)

пс: 4 день учу Джанго, всё очень нравится)

Автор: Daevaorn 7.10.2010, 20:12
Посмотрите документацию про автоэскейпинг -- http://docs.djangoproject.com/en/dev/topics/templates/#automatic-html-escaping

Автор: SeTeM 7.10.2010, 20:25
Да, большое спасибо, помогло.

Powered by Invision Power Board (http://www.invisionboard.com)
© Invision Power Services (http://www.invisionpower.com)