6 октября 2016 г.

Django. Отображение данных на сайте (часть 9)



Для того чтобы показать наши дома на сайте, откроем views.py в нем мы будем хранить так называемые представления - это специальная функция, которая будет возвращать html-страницу в браузере.

В файл views.py добавим функцию houses_list, в которой зададим аргумент request.

def houses_list(request):
    pass

Request - это запрос вашего посетителя, когда посетитель заходит на страницу сайта, то браузер формирует специальный запрос web-серверу, Django этот запрос обрабатывает и помещает его в специальный объект request. Затем Django вызывает, какое-то представления, например houses_list и передает в его запрос request, а после представление помещает html-страницу обратно в браузер.

Чтобы вернуть html-страницу ее нужно создать.

Добавим в папку houses, новую папку templates.
Templates - это простая папка, а не python пакет в ней __init__.py файл не нужен. В нутри templates добавим еще одну папку houses, как и имя нашего приложения, а уже в ней создадим houses_list.html и добавим текст в

<title>"Дом у моря"</title>


Затем вернемся в views.py

views.py


Как вы заметили имя представления article_list(request) совпадает с именем шаблона houses_list.html, который мы создали. Так делать не обязательно, но это хорошая практика, которая проще позволяет ориентироваться в коде.

Добавим в представление:

def houses_list(request):
    return render(request, “houses/houses_list.html”)

Тоесть мы в функции houses_list, возвращаем отрендеренный шаблон houses_list.html

Дополнительно в функцию houses_list мы передаем запрос посетителя request


Теперь нам нужно связать нашу функцию представления с каким-то URL.

Перейдем в urls.py и импортируем в него наше представление:

from houses.views import houses_list


А в список urlpatterns скопируем строку из комментария и заменим views.home на houses_list


Первый параметр в функции url - это регулярное выражение, которое отвечает за путь на сайте


^ - это начало адреса
$ - это конец адреса
r’^s’ - все выражение соответствует главной странице

Когда посетитель перейдет на главную страницу сайта, Django сопоставит путь с регулярным выражением, т.к. путь будет соответствовать этой записи r’^s’, то Django запустит представление houses_list,


которое вернет отрендеренную html-страницу


Теперь откроем браузер и увидим нашу пустую страницу с заголовком дом у моря


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

Отправить комментарий

Оставить отзыв