Изучать начал совсем недавно.
Прочитал первые 6 глав в книгах "Django подробное руководство" и "Django разработка приложений на языке Python". Для закрепления решил написать маленький блог. Потом планировал запихнуть в него галерею и т. п.
План был такой:
На странице:
Шапка - в ней меню
Контент - в нём справа посты блога и слева небольшое меню, которое со временем тоже должно обновляться (материалы по теме блога)
Копирайты
Ну и каждый из этих компонентов сделать отдельными шаблонами. Далее при помощи наследования объединить.
Создал 2 модели: Первая - посты блога, Вторая - материалы. Наполнил данными, по отдельности работают, хорошо выводятся.
Прочитав эту статью на хабре в своём проекте написал следующее:
views.py: (рендерит шаблон base.html)
from django.shortcuts import render_to_response
from django.template import loader, Context
from django.http import HttpResponse
from mysite.blog.models import BlogPost, Mater
def main(request):
posts = BlogPost.objects.all
materials = Mater.objects.all
return render_to_response('base.html', {'posts': posts, 'materials':materials})
base.html:
Документ без названия
{% block head %}
{%endblock%}
{% block page %}
{% block content %}
{% endblock %}
{% endblock %}
{% block footer %}
{% block copyright %}
{% endblock %}
{% endblock %}
menu.html :
{% extends "base.html" %}
{% block head %}
О нас
Курс
Центр
Контакты
{% endblock %}
blog_page.html:
{% extends "base.html" %}
{% block page %}
{% block content %}
{% endblock %}
{% block sidebar %}
{% endblock %}
{% endblock %}
blog.html:
{% extends "blog_page.html" %}
{%block content %}
{% for post in posts %}
{{post.autor}} {{post.timestamp}}
{{post.title }}
{{post.body}}
{{post.website}}
{% endfor %}
{%endblock%}
sidebar.html:
{% extends "blog_page.html" %}
{% block sidebar %}
В первый раз?
Ответы на часто задаваемые вопросы здесь
Методические материалы чуть ниже
Материалы
{% for material in materials %}
{{material.title}}
{% endfor %}
{% endblock %}
В итоге получаю пустую страницу c фоновым изображением (.
Вопрос.
У меня есть базовый шаблон, 2 дочерних и ещё 2 в третьем поколении. На какой из них должна быть направленна функция отображения, чтобы показывались элементы со всех 5 шаблонов.
Updated 6 Oct. 2011, 19:26 by Roosh.