2013-08-14 2 views
0

так что я недавно преобразован в Django (и Python для этого) с PHP. В PHP я привык к возможности автоматизировать многие вещи, особенно при написании HTML, который я использовал, чтобы писать такие команды, как <?php get_head() ?>, и он собирался получить всю информацию meta, которая должна быть внутри <head></head> страницы HTML , Есть ли такая функциональность, встроенная в Django, или мне придется писать все HTML вручную?Django - автоматизация некоторых поведения шаблонов

Большое спасибо за любые указатели.

+1

Вы прочитали документацию по движку шаблонов django? https://docs.djangoproject.com/en/1.6/ref/templates/ – Hamish

ответ

1

Вам понравятся теги extends и block.

Предполагая, что вы уже получили шаблонных страниц работает, вы можете извлечь основные настройки вашей HTML страницы, как это:

Создать шаблон под названием base.html:

<!DOCTYPE html> 
<html> 
    <head> 
    <meta charset="utf-8" /> 
    <title>{% block title %}{% endblock %}</title> 
    {% block head %}{% endblock %} 
    </head> 
    <body> 
    {% block body %} 
     Empty page. 
    {% endblock %} 
    </body> 
</html> 

Теперь в шаблоне страницы называется page.html, вы можете расширить базовый шаблон и переопределить любые блоки:

{% extends "base.html" %} 
{% block title %}Page 1 title{% endblock %} 
{% block body %} 
    Real page content. 
    {% block main %} 
     Subpage of page.html can also override this main block. 
    {% endblock %} 
{% endblock %} 

Но Хэмиш правильно, делать оформление заказа-го e doc: https://docs.djangoproject.com/en/dev/topics/templates/

+0

Вы правы, я собираюсь LOVE 'extends' и' block' tags <3 <3 Я пойду прочитаю остальные документы, как как можно скорее. Большое вам спасибо за то, что вы нашли время ответить! – gersande

+0

Это работало как шарм и сделало меня счастливым. Так счастлив! Так так счастливо. <3 Спасибо! – gersande

+1

Рад помочь! Если вам интересно, в качестве следующего шага, я бы также рекомендовал проверить HAML (http://haml.info/), а это Django port Hamlpy (https://github.com/jessemiller/HamlPy). – Ziyan

Смежные вопросы