Django Cheat Sheet - 2

План развития

Шаблоны

Перепишем html-код главной страницы в шаблон, который принимает параметр messages.
myapp/templates/home.html
<html>
<head>
    <title>Сообщения</title>
</head>
<body>
    {% for message in messages %}
    <div class="author">{{ message.author }}</div>
    <div class="text">{{ message.text }}</div>
    {% endfor %}
</body>
</html>
myapp/views.py
from django.shortcuts import render

from myapp.models import Message

def home(request):
    messages = Message.objects.all()
    return render(request, 'home.html', {'messages': messages})
Самые важные теги шаблонов — for-endfor и if-else-endif.

Media files

Fixtures

В Джанго можно указать начальные данные, которыми заполняется база данных после каждого вызова manage.py syncdb. Это будет полезно тогда, когда мы начнём менять схему базы данных, указанную в myapp/models.py, и базу данных придётся создавать заново. (Существует механизм миграций с помощью South, который мы пока не рассматриваем.)

Группы в urls.py

В регулярных выражениях можно образовывать группы символов, окружая часть выражения скобками. Выделенные из url-адреса группы будут переданы в функцию-обработчик дополнительными параметрами.

Научимся показывать сообщения от конкретного пользователя.

Наследование в шаблонах