|
Table of contents
|
Содержание Данная глава временно взята из первой версии книги и подлежит корректировке. Вы можете помочь с этим! Перевод © Попов Руслан <radz • yandex • ru> Обычно, говоря о разработке веб сайтов, мы имеем в виду генерацию HTML. Конечно, кроме HTML в сфере веба существует ещё много чего. Мы используем веб для распространения информации во всех форматах: RSS, PDF, изображения и так далее. До сих пор мы рассматривали общий случай создания HTML, но в этой главе мы пойдём другим путём и рассмотрим возможности Django для генерации других видов контента. Django обладает удобными встроенными инструментами, которые можно использовать для создания контента, отличного от HTML:
Мы исследуем каждый из этих инструментов немного позже, сначала рассмотрим основные принципы. Помните из главы «Представления и привязки URL» это: Функция представления, или просто представление, является функцией языка Python, которая принимает запрос и возвращает отклик. Этим откликом может быть HTML контент веб страницы, перенаправление на другую страницу, ошибка 404, XML документ, изображение или что-нибудь ещё. Более формально, функция представления Django должна:
Возможность возвращать из представление не-HTML данные лежит в
классе Например, рассмотрим представление, которое возвращает изображение в формате PNG. Для простоты мы просто читаем файл с диска: from django.http import HttpResponse
def my_image(request):
image_data = open("/path/to/my/image.png", "rb").read()
return HttpResponse(image_data, mimetype="image/png")
Вот так! Если вы замените путь до файла в вызове функции
Ещё следует помнить о том, что объекты
Для того, чтобы увидеть как всё это работает, давайте рассмотрим как Django генерирует CSV. |
Found misprint?
Select it with the mouse and hit Enter
-
Processed:
33
1
199
25
The full repository of DjangoBook translation you can get on GitHub.
We appreciate your patches!
We are glad to hear your questions, comments or suggestions!
(Open in new tab)
Users number: 601
Русская группа
Ускорить процесс перевода!
ЯМ:41001223475816
|
| © 2008-2012 Ruslan Popov @ gmail.com | Powered by Django 1.2.5 |