Первая страница, созданная в Django: Hello World

Опубликовал: Sunday, February 5, 2024 в категории Django | Пока нет комментариев

Для начала создадим веб-страницу, которая выводит пресловутое сообщение «Hello world».

Чтобы опубликовать такую страницу без помощи веб-фреймворка, достаточно просто ввести строку «Hello world» в текстовый файл, назвать его hello.html и сохранить в каком-нибудь каталоге на веб-сервере. Отметим, что при этом определяются два ключевых свойства страницы: ее содержимое (строка "Hello world") и URL (http://www.example.com/hello. html или, быть может, http://www.example.com/files/hello.html, если вы решили поместить файл в подкаталог).

При работе с Django вы определяете те же свойства, но по-другому. Содержимое страницы порождает функция представления, a URL задается в настройках URL. Сначала напишем функцию представления.

Ваше первое представление

В каталоге mysite, который был создан командой django-admin.py в предыдущей главе, создайте пустой файл с именем views.ру. Этот Python- модуль будет содержать все представления, рассматриваемые в данной главе. Отметим, что в имени views.ру нет ничего особенного - скоро мы увидим, что Django все равно, как называется этот файл, однако принято называть его именно views.ру, чтобы другие разработчики, читающие ваш код, сразу понимали, что в нем находится.

Представление «Hello world» очень простое. Ниже приведен код функции вместе с командами импорта, который нужно поместить в файл

views.ру:

from django.http import HttpResponse

def hello(request):

return HttpResponse("Hello world")

Рассмотрим его построчно.

•      Сначала импортируется класс HttpResponse, который находится в модуле django.http. Импортировать его необходимо, потому что он используется в коде функции ниже.

•          Далее определяется функция представления hello.

•      Любая функция представления принимает по меньшей мере один параметр, который принято называть request. Это объект, содержащий информацию о текущем веб-запросе, в ответ на который была вызвана функция; он является экземпляром класса django.http. HttpRequest. В данном примере мы не используем параметр request, тем не менее он должен быть первым параметром представления.

•      Отметим, что имя функции представления не имеет значения, фреймворк Django не предъявляет каких-либо специфических требований к именам. Мы назвали ее hello просто потому, что это имя ясно показывает назначение представления, но могли бы назвать hello_wonderful_beautiful_world или еще как-то. В следующем разделе будет показано, каким образом Django находит эту функцию.

•      Сама функция состоит всего из одной строки: она просто возвращает объект HttpResponse, инициализированный строкой "Hello world".

Главный урок состоит в том, что представление - обычная функция на языке Python, которая принимает экземпляр класса HttpRequest в качестве первого параметра и возвращает экземпляр класса HttpResponse. Чтобы функция на Python могла считаться функцией представления, она должна обладать этими двумя свойствами. (Существуют исключения, но о них мы поговорим позже.)

Источник: Головатый А., Каплан-Мосс Дж. Django. Подробное руководство, 2-е издание. - Пер. с англ. - СПб.: Символ- Плюс, 2010. - 560 е., ил.

Похожие посты:

Комментировать

Your email address will not be published. Required fields are marked *