Django page 1

Django — вывод содержимого html-файла

Привет всем! В прошлой записи я обещал рассказать о том, как организовать в Django вывод содержимого html-файла. Пришла пора выполнить обещание 🙂

На самом деле — все просто (не устаю повторят эту фразу — все просто, когда знаешь — как делать 🙂 ). Для этого редактируем файл views.py в папке аппликации следующим образом:

  1. from django.shortcuts import render
  2. def index(request):
  3.     return render(request, 'page2/index.html')

фактически мы говорим, что бы в процессе отображения аппликации page2 (надеюсь, вы помните из прошлой записи, что с точки зрения Django каждая отдельная страница является отдельной аппликацией 🙂 ) нам нужно показывать страницу index.html.

Важно подчеркнуть, что страница index.html должна располагаться в папке templates, которую вы должны создать в папке аппликации. Если же вам нужно использовать картинки в своей странице — то они в свою очередь располагаются в папке static, расположенной в папке аппликации. А уже внутри созданных папок мы еще раз создаем папки с названием аппликации (логика, с моей точки зрения — отсутствует — зачем создавать столько вложенных папок — но учитывая, что создатели Django далеко не дураки — будем принимать систему как она есть). Звучит немного запутанно, но на самом деле все просто 😉 Примерная структура — на картинке ниже:
django-структура

Вернемся к отображению html-кода. Папки созданы, адресация в файле views.py — сделана, теперь нужно создать сам файл index.html, который будем показывать. Как я писал чуть выше — файл должен располагаться в папке templates. Что будет внутри него — ваше дело 🙂 У меня он выглядит следующим образом:

  1. <h1>Test</h1>
    
  2. <img src="/static/page2/comp.jpg"> #подтягиваем картинку из папки static

Сам сайт теперь выглядит следующим образом:
Django - html-код
Выглядит, конечно, бредово — но важна суть: вывод содержимого html-файла 🙂
Спасибо за внимание! Все вопросы — прошу в почту или Telegram 🙂

В самое ближайшее время мы разберемся с тем, как отображать данные Python-кода на странице Django-проекта. Учитывая, что с этой темой я не разобрался еще сам — будет интересно!