Index html пример: #2 – Файл «index.html». Отображение сайта

Содержание

HTML Ссылки — переход на документы или ресурсы — schoolsw3.com


❮ Назад Далее ❯


Ссылки встречаются почти на всех веб страницах. Ссылки позволяют пользователям переходить со страницы на страницу.

HTML Ссылки — Гиперссылки

HTML ссылки — это гиперссылки.

Вы можете нажать на ссылку и перейти к другому документу.

Когда вы наведете курсор мыши на ссылку, стрелка мыши превратится в маленькую руку.

Примечание: Ссылка не обязательно должна быть текстовой. Ссылка может быть изображением или любым другим HTML элементом!


HTML Ссылки — синтаксис

HTML тег <a> определяет гиперссылку. Он имеет следующий синтаксис:

<a href=»url«>текст ссылки</a>

Самый важный атрибут элемента <a> — это атрибут href, что указывает на пункт назначения ссылки.

Текст ссылки это та часть, которая будет видна читателю.

Нажав на текст ссылки, читатель отправится на указанный URL-адрес.

Пример

В этом примере показано, как создать ссылку на Schoolsw3.com:

<a href=»https://schoolsw3.com/»>Посетить Schoolsw3.com!</a>

Попробуйте сами »

По индексу ссылки будут отображаться следующим образом во всех браузерах:

  • Не посещенная ссылка подчеркнута синим цветом
  • Посещенная ссылка подчеркнута и окрашена в фиолетовый цвет
  • Активная ссылка подчеркнута красным цветом

Совет: Ссылки, конечно, можно стилизовать с помощью CSS, чтобы получить другой вид!


HTML Ссылки — атрибут target

По индексу связанная страница будет отображаться в текущем окне браузера. Чтобы изменить это, необходимо указать другой целевой объект для ссылки.

Атрибут target указывает, где открыть связанный документ.

Атрибут target может иметь одно из следующих значений:

  • _self — По умолчанию. Открывает документ в том же окне / вкладке, в котором он был нажат
  • _blank — Открывает документ в новом окне или вкладке
  • _parent — Открывает документ в родительском фрейме
  • _top
    — Открывает документ во всем теле окна

Пример

Используйте target="_blank", чтобы открыть связанный документ в новом окне браузера или на новой вкладке:

<a href=»https://schoolsw3.com/» target=»_blank»>Посетить Schoolsw3!</a>

Попробуйте сами »


Абсолютные и относительные ссылки

В обоих приведенных выше примерах используется абсолютный URL (полный веб-адрес) в атрибуте href.

Локальная ссылка (ссылка на страницу внутри того же веб-сайта) указывается с помощью относительного URL (без "https://www"):

Пример

<h3>Абсолютные URLы</h3>
<p><a href=»https://www. sw3.org/»>sw3C</a></p>
<p><a href=»https://www.google.com/»>Google</a></p>

<h3>Относительные URLы</h3>
<p><a href=»html_images.php»>HTML Изображения</a></p>
<p><a href=»/css/index.php»>CSS Учебник</a></p>

Попробуйте сами »



HTML Ссылки — использование изображения в качестве ссылки

Чтобы использовать изображение в качестве ссылки, просто поместите тег <img> внутри тега <a>:

Пример

<a href=»index.php»>
 <img src=»smiley.gif» alt=»HTML учебник»>
</a>

Попробуйте сами »


Ссылка на адрес электронной почты

Используйте mailto: внутри атрибута href, чтобы создать ссылку, которая открывает пользователя программы электронной почты (чтобы позволить им отправить новое сообщение электронной почты):

Пример

<a href=»mailto:someone@example.

com»>Отправлять электронную почту</a>

Попробуйте сами »


Кнопка как ссылка

Чтобы использовать HTML кнопку в качестве ссылки, вы должны добавить некоторый код JavaScript.

JavaScript позволяет указать, что происходит при определенных событиях, таких как нажатие кнопки:

Пример

<button>HTML Учебник</button>

Попробуйте сами »

Совет: Узнайте больше о JavaScript в разделе JavaScript Учебник.


Названия ссылок

Атрибут title задает дополнительную информацию об элементе. Эта информация чаще всего отображается в виде текста всплывающей подсказки при наведении курсора мыши на элемент.

Пример

<a href=»https://schoolsw3.com/html/» title=»Идти к Schoolsw3 HTML раздел»>Посетите HTML Учебник</a>

Попробуйте сами »


Подробнее об абсолютных и относительных URL-адресах

Пример

Используйте полный URL-адрес для ссылки на веб страницу:

<a href=»https://schoolsw3. com/html/index.php»>HTML учебник</a>

Попробуйте сами »

Пример

Ссылка на страницу, расположенную в папке html на текущем веб сайте:

<a href=»/html/index.php»>HTML учебник</a>

Попробуйте сами »

Пример

Ссылка на страницу, расположенную в той же папке, что и текущая страница:

<a href=»index.php»>HTML учебник</a>

Попробуйте сами »

Подробнее о путях к файлам вы можете прочитать в этой главе HTML Пути к файлам.


Краткое содержание главы

  • Используйте элемент <a> для определения ссылки
  • Используйте атрибут href для определения адреса ссылки
  • Используйте атрибут target для определения места открытия связанного документа
  • Используйте элемент <img> (внутри <a>) чтобы использовать изображение в качестве ссылки
  • Используйте mailto: схему внутри атрибута href, чтобы создать ссылку, которая открывает программу электронной почты пользователя

HTML Упражнения

Проверьте себя с помощью упражнений

Упражнение:

Используйте правильный HTML код, чтобы превратить приведенный ниже текст в ссылку на «index. html».

>Посетите HTML учебник.



HTML Ссылки теги

Тег Описание
<a>Определяет гиперссылку

Для получения полного списка всех доступных HTML тегов посетите HTML Справочник тегов.


❮ Назад Далее ❯


Кабинет информатики — Пример создания HTML документа

Кабинет информатики

К уроку информатики

Планирование

Олимпиады и конкурсы

ЕГЭ и ГИА по информатике

Открытые мероприятия по информатике

Форма входа

Создать HTML- документ можно в любом текстовом редакторе, например, «блокнот».

Для этого достаточно, после написания кода, сохранить полученный файл в расширении .html или после сохранения файла с расширением .txt поменять его на .html.

Например, в блокноте у вас получился файл «текстовой докумен.txt» , меняем имя на index.html , при публикации сайта в интернет для главной страницы обычно присваивается имя index, остальные страницы можно называть как угодно.

Если Ваш компьютер не показывает расширения файлов, в Windows XP можно зайти в панель управления, выбрать «свойства папки» и в меню «вид», снять галочку с пункта «скрывать расширения для зарегистрированных файлов».

Простейший HTML-документ выглядит так:


<HTML>

<HEAD>
<TITLE>
Простейший HTML-документ
</TITLE>
</HEAD>

<BODY>
Тело документа — текст, фотографии и всё остальное, что будут видеть посетители Вашего сайта.
</BODY>

</HTML>


В данном примере элемент HTML явно указывает браузеру, что им будет обрабатываться HTML-код.

Заголовок HTML-документа находится в элементе HEAD, его иногда называют «шапкой», и содержит информативные элементы.
TITLE — заголовок документа, его Вы можете видеть в самом верху браузера. Например, для этой страницы «Простейший HTML-документ».

Элемент BODY — тело документа, вся его содержательная часть, текст, фотографии и так далее…

(рассмотрим позже)

После обработки браузером данный документ будет выглядеть так:


Примечание: В данном и последующих примерах на сайте я буду использовать браузер «Opera», в других браузерах, например, «Internet Explorer», документ будет выглядеть аналогично.
ГБОУ СОШ № 11

Учителя информатики

Цитатник

Обратная связь


Календарь

«  Июнь 2023  »
ПнВтСрЧтПтСбВс
   1234
567891011
12131415161718
19202122232425
2627282930


Архив записей
  • 2011 Ноябрь
  • 2012 Октябрь

Informatika11 © 2023Бесплатный хостинг uCoz

Самый простой шаблон для index.

html

Каждый веб-проект, независимо от того, большой он или маленький, начинается с файла index.html. Начните с этого шаблона.

Published By Dim NikovCategorized as HTML

Файл index.html отображается в браузере пользователя, когда он посещает URL-адрес каталога, в котором он хранится.

 

    <голова>
        Здесь находится заголовок вашей страницы
    
    <тело>
         

Это заголовок

А это абзац.

Теперь, когда вы увидели, как выглядит простой HTML-документ, давайте разберем его структуру и потратим пару минут на то, чтобы поговорить о том, почему каждый из этих тегов существует.

Тег предназначен для объявления типа документа . Он сообщает веб-браузерам, что документ является документом HTML5 и что он должен отображаться в соответствии со стандартами, определенными в спецификации HTML5.

В отличие от большинства других тегов в HTML-документе, объявление doctype не нужно закрывать, и внутри него нет вложенных элементов. Думайте об этом как о своего рода преамбуле, которая сообщает веб-браузерам, что за этим последует.

Тег предназначен для корневого элемента вашего HTML-документа. Его атрибут lang сообщает поисковым системам и веб-браузерам о языке страницы и может опционально информировать их о стране.

Теги и должны быть единственными двумя прямыми потомками тега для корневого элемента. Все остальные теги должны быть вложены внутрь них (фактически становясь косвенными потомками корневого элемента).

Тег предназначен для заголовка вашего HTML-документа . Вложите в него заголовок документа, фавиконку, метатеги, стили и скрипты.

Тег предназначен для тела вашего HTML-документа . Вложите контейнеры вашего документа (разделы, статьи, отступления, div и т. д.) и содержимое (заголовки, абзацы, списки, рисунки, аудио, видео и т. д.) внутрь него.

Куда перейти

Этот шаблон настолько прост, насколько это возможно, и он предназначен для того, чтобы помочь вам ознакомиться с HTML, если вы новичок в веб-разработке. Однако для разработки полнофункционального веб-сайта на HTML/CSS/JS требуется гораздо больше.

В качестве следующего шага я рекомендую вам взглянуть на HTML5 Boilerplate. Это бесплатный начальный шаблон с открытым исходным кодом, который я использую для всех своих проектов веб-разработки, и, без тени сомнения, это один из лучших начальных шаблонов.

Дим Ников

Редактор Maker’s Aid. Наполовину программист, наполовину маркетолог. Создавать вещи в Интернете и помогать другим делать то же самое с 2000-х годов. Да, у меня были Friendster и Myspace.

Посмотреть все сообщения Дима Никова.

сообщить об этом объявлении
  • Создайте хэш в Zapier с помощью этих простых шагов
  • Рабочие области Диспетчера тегов Google, объяснение
  • Нужен ли вам SSL на домене с переадресацией 301?
  • Самые лучшие легкие браузеры для Mac
  • 3 лучших редактора JSON для Mac
сообщить об этом объявлении0001
  • Предыдущий
  • Обзор: Джанго
  • Следующий

Теперь мы готовы добавить код, который отображает нашу первую полную страницу — домашнюю страницу веб-сайта LocalLibrary. На главной странице будет показано количество записей, которые у нас есть для каждого типа модели, а также ссылки на боковую панель для перехода на другие наши страницы. Попутно мы приобретем практический опыт написания базовых карт и представлений URL-адресов, получения записей из базы данных и использования шаблонов.

Необходимые условия: Прочтите введение в Джанго. Выполните предыдущие разделы руководства (включая часть 4 руководства по Django: административный сайт Django).
Цель: Научитесь создавать простые карты и представления URL-адресов (где данные не закодированы в URL-адресе), получать данные из моделей и создавать шаблоны.

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

Следующая диаграмма описывает основной поток данных и компоненты, необходимые для обработки HTTP-запросов и ответов. Поскольку мы уже реализовали модель, мы создадим следующие основные компоненты:

  • Преобразователи URL-адресов для пересылки поддерживаемых URL-адресов (и любой информации, закодированной в URL-адресах) в соответствующие функции просмотра.
  • Функции просмотра для получения запрошенных данных от моделей, создания HTML-страниц, отображающих данные, и возврата страниц пользователю для просмотра в браузере.
  • Шаблоны для использования при отображении данных в представлениях.

Как вы увидите в следующем разделе, у нас есть 5 страниц для отображения, что слишком много информации для документирования в одной статье. Поэтому в этой статье основное внимание будет уделено тому, как реализовать домашнюю страницу, а остальные страницы мы рассмотрим в следующей статье. Это должно дать вам хорошее полное представление о том, как на практике работают сопоставители URL, представления и модели.

Поскольку эта версия LocalLibrary по существу доступна только для чтения для конечных пользователей, нам просто нужно предоставить целевую страницу для сайта (домашнюю страницу) и страницы, которые отображать список и подробные представления для книг и авторов.

URL-адреса, которые нам понадобятся для наших страниц:

  • каталог/ — домашняя (индексная) страница.
  • каталог/книги/ — Список всех книг.
  • каталог/авторы/ — Список всех авторов.
  • catalog/book/ — Подробное представление для конкретной книги с первичным ключом поля (по умолчанию). Например, адрес третьей книги, добавленной в список, будет 9.0015 /каталог/книга/3 .
  • catalog/author/ — Подробное представление для конкретного автора с полем первичного ключа . Например, URL для 11-го автора, добавленного в список, будет /catalog/author/11 .

Первые три URL вернут индексную страницу, список книг и список авторов. Эти URL-адреса не кодируют никакой дополнительной информации, и запросы, извлекающие данные из базы данных, всегда будут одинаковыми. Однако результаты, возвращаемые запросами, будут зависеть от содержимого базы данных.

Напротив, последние два URL будут отображать подробную информацию о конкретной книге или авторе. Эти URL-адреса кодируют идентификатор отображаемого элемента (представленный выше). Преобразователь URL-адресов извлечет закодированную информацию и передаст ее в представление, а представление будет динамически определять, какую информацию нужно получить из базы данных. Кодируя информацию в URL-адресе, мы будем использовать единый набор сопоставления URL-адресов, представления и шаблона для обработки всех книг (или авторов).

Примечание: С помощью Django вы можете создавать свои URL-адреса так, как вам нужно — вы можете кодировать информацию в теле URL-адреса, как показано выше, или включать параметры GET в URL-адрес, например, /book/?id=6 . Какой бы подход вы ни использовали, URL-адреса должны быть чистыми, логичными и удобочитаемыми в соответствии с рекомендациями W3C. Документация Django рекомендует кодировать информацию в теле URL-адреса для улучшения дизайна URL-адреса.

Как упоминалось в обзоре, оставшаяся часть этой статьи описывает, как создать индексную страницу.

Первая страница, которую мы создадим, — это индексная страница ( каталог/ ). Страница индекса будет включать в себя некоторый статический HTML, а также сгенерированное «количество» различных записей в базе данных. Чтобы это работало, мы создадим сопоставление URL-адресов, представление и шаблон.

Примечание: В этом разделе стоит уделить немного больше внимания. Большая часть информации применима и к другим страницам, которые мы создадим.

Сопоставление URL-адресов

Когда мы создали каркас веб-сайта, мы обновили locallibrary/urls.py , чтобы каждый раз при получении URL-адреса, начинающегося с catalog/, модуль URLConf catalog.urls обрабатывал оставшуюся подстроку.

Следующий фрагмент кода из locallibrary/urls.py включает модуль catalog. urls :

 urlpatterns += [
    путь('каталог/', включить('каталог.urls')),
]
 

Примечание: Всякий раз, когда Django встречает функцию импорта django.urls.include() , он разбивает строку URL-адреса на указанный конечный символ и отправляет оставшуюся подстроку включенному модулю URLconf для дальнейшей обработки.

Мы также создали файл-заполнитель для модуля URLConf с именем /catalog/urls.py . Добавьте в этот файл следующие строки:

 шаблоны URL = [
    путь('', views.index, имя='индекс'),
]
 

Функция path() определяет следующее:

  • Шаблон URL, представляющий собой пустую строку: '' . Мы подробно обсудим шаблоны URL при работе с другими представлениями.
  • Функция просмотра, которая будет вызываться при обнаружении шаблона URL: views.index , которая является функцией с именем index() в файле views. py .

Функция path() также задает параметр имени , который является уникальным идентификатором для этого конкретного сопоставления URL-адреса. Вы можете использовать это имя для «реверсирования» преобразователя, т. е. для динамического создания URL-адреса, указывающего на ресурс, для обработки которого предназначен преобразователь. Например, мы можем использовать параметр name для ссылки на нашу домашнюю страницу с любой другой страницы, добавив следующую ссылку в шаблон:

 Главная.
 

Примечание: Мы можем жестко закодировать ссылку как в Главная ), но если мы изменим шаблон для нашей домашней страницы, например, на / каталог/индекс ) шаблоны больше не будут корректно связываться. Использование обратного сопоставления URL более надежно.

Представление (на основе функции)

Представление — это функция, которая обрабатывает HTTP-запрос, извлекает необходимые данные из базы данных, отображает данные на HTML-странице с использованием HTML-шаблона, а затем возвращает сгенерированный HTML-код в HTTP-запросе. ответ для отображения страницы пользователю. Индексное представление следует этой модели — оно извлекает информацию о числе 9.0015 Book , BookInstance , available BookInstance и Author записи, которые у нас есть в базе данных, и передает эту информацию в шаблон для отображения.

Откройте catalog/views.py и обратите внимание, что файл уже импортирует функцию быстрого доступа render() для создания HTML-файла с использованием шаблона и данных:

 из django.shortcuts import render
# Создайте свои представления здесь.
 

Вставьте следующие строки внизу файла:

 из импорта .models Книга, Автор, Экземпляр книги, Жанр
Индекс защиты (запрос):
    """Функция просмотра главной страницы сайта."""
    # Сгенерировать количество некоторых основных объектов
    num_books = Book.objects.all().count()
    num_instances = BookInstance.objects.all().count()
    # Доступные книги (status = 'a')
    num_instances_available = BookInstance. objects.filter(status__exact='a').count()
    # 'all()' подразумевается по умолчанию.
    num_authors = Автор.объектов.счетчик()
    контекст = {
        'num_books': количество_книг,
        'количество_экземпляров': num_instances,
        'количество_экземпляров_доступно': num_instances_available,
        'количество_авторов': количество_авторов,
    }
    # Визуализировать HTML-шаблон index.html с данными в контекстной переменной
    вернуть рендеринг (запрос, 'index.html', контекст = контекст)
 

Первая строка импортирует классы моделей, которые мы будем использовать для доступа к данным во всех наших представлениях.

Первая часть функции представления извлекает количество записей, используя атрибут objects.all() классов модели. Он также получает список из объектов BookInstance , которые имеют значение «a» (доступно) в поле статуса. Вы можете найти больше информации о том, как получить доступ к данным модели, в нашем предыдущем руководстве Django Tutorial Part 3: Using models > Searching for records.

В конце функции просмотра мы вызываем функцию render() для создания HTML-страницы и возврата страницы в качестве ответа. Эта функция быстрого доступа объединяет ряд других функций, чтобы упростить очень распространенный вариант использования. Функция render() принимает следующие параметры:

  • исходный запрос объект, который является HttpRequest .
  • HTML-шаблон с заполнителями для данных.
  • и контекст , которая представляет собой словарь Python, содержащий данные для вставки в заполнители.

Подробнее о шаблонах и переменной контекста мы поговорим в следующем разделе. Давайте приступим к созданию нашего шаблона, чтобы мы могли что-то показать пользователю!

Шаблон

Шаблон — это текстовый файл, определяющий структуру или макет файла (например, HTML-страницы). В нем используются заполнители для представления фактического содержимого.

Приложение Django, созданное с использованием startapp (подобно скелету этого примера) будет искать шаблоны в подкаталоге с именем « templates » ваших приложений. Например, в представлении индекса, которое мы только что добавили, функция render() ожидает найти файл index.html в /locallibrary/catalog/templates/ и вызовет ошибку, если файл нет.

Вы можете проверить это, сохранив предыдущие изменения и зайдя на 127.0.0.1:8000 в вашем браузере — он отобразит довольно интуитивное сообщение об ошибке: « TemplateDoesNotExist at /catalog/» и другие подробности.

Примечание: Основываясь на файле настроек вашего проекта, Django будет искать шаблоны в нескольких местах, по умолчанию выполняя поиск в ваших установленных приложениях. Вы можете узнать больше о том, как Django находит шаблоны и какие форматы шаблонов он поддерживает, в разделе «Шаблоны» документации Django.

Расширение шаблонов

Для шаблона указателя потребуется стандартная HTML-разметка для заголовка и основной части, а также разделы навигации для ссылок на другие страницы сайта (которые мы еще не создали) и разделы, отображающие вводный текст и данные книги.

Большая часть HTML и структура навигации будут одинаковыми на каждой странице нашего сайта. Вместо того, чтобы дублировать шаблонный код на каждой странице, вы можете использовать язык шаблонов Django для объявления базового шаблона, а затем расширить его, заменив только те биты, которые отличаются для каждой конкретной страницы.

Следующий фрагмент кода представляет собой пример базового шаблона из файла base_generic.html . Вскоре мы создадим шаблон для LocalLibrary. Пример ниже включает в себя общий HTML-код с разделами для заголовка, боковой панели и основного содержимого, отмеченных именованными тегами шаблона block и endblock . Вы можете оставить блоки пустыми или включить содержимое по умолчанию для использования при отображении страниц, полученных из шаблона.

Примечание: Шаблон 9Теги 0129 — это функции, которые можно использовать в шаблоне для циклического просмотра списков, выполнения условных операций на основе значения переменной и т. д. В дополнение к тегам шаблона синтаксис шаблона позволяет ссылаться на переменные, которые передаются в шаблон из представления, и использовать фильтры шаблона для форматирования переменных (например, для преобразования строки в нижний регистр).

 

  <голова>
    {% заголовок блока %}
      Локальная библиотека
    {% конечный блок%}
  
  <тело>
    {% заблокировать боковую панель %}
      
    {% конечный блок%}
    {% заблокировать содержимое %}
      
    {% конечный блок%}
  

 

При определении шаблона для конкретного представления мы сначала указываем базовый шаблон с помощью тега шаблона extends — см. пример кода ниже. Затем мы объявляем, какие разделы из шаблона мы хотим заменить (если есть), используя разделы block / endblock , как в базовом шаблоне.

Например, приведенный ниже фрагмент кода показывает, как использовать тег шаблона extends и переопределить блок содержимого . Сгенерированный HTML будет включать код и структуру, определенные в базовом шаблоне, включая содержимое по умолчанию, которое вы определили в блок заголовка , но новый блок контента вместо блока по умолчанию.

 {% расширяет "base_generic.html" %}
{% заблокировать содержимое %}
   

Главная страница местной библиотеки

<р> Добро пожаловать на LocalLibrary, веб-сайт, разработанный Сеть разработчиков Mozilla!

{% конечный блок%}
Базовый шаблон LocalLibrary

Мы будем использовать следующий фрагмент кода в качестве базового шаблона для веб-сайта LocalLibrary . Как видите, он содержит HTML-код и определяет блоки для заголовок , боковая панель и контент . У нас есть заголовок по умолчанию и боковая панель по умолчанию со ссылками на списки всех книг и авторов, которые заключены в блоки, чтобы их можно было легко изменить в будущем.

Примечание: Мы также вводим два дополнительных тега шаблона: url и load static . Эти теги будут описаны в следующих разделах.

Создайте новый файл base_generic.html в /locallibrary/catalog/templates/ и вставьте в файл следующий код:

 

  <голова>
    {% заголовок блока %}
      Локальная библиотека
    {% конечный блок%}
    <метакодировка="utf-8" />
    
    <ссылка
      href="https://cdn.jsdelivr.net/npm/[email protected]/dist/css/bootstrap.min. css"
      отн = "таблица стилей"
      целостность = "sha384-1BmE4kWBq78iYhFldvKuhfTAU6auU8tT94WrHftjDbrCEXSU1oBoqyl2QvZ6jIW3"
      кроссоригин = "анонимно" />
    
    {% статическая загрузка %}
    
  
  <тело>
    <дел>
      <дел>
        <дел>
          {% заблокировать боковую панель %}
            <ул>
              
  • Главная
  • Все книги
  • Все авторы
  • {% конечный блок%}
    {% block content %}{% endblock %}

    Шаблон включает CSS из Bootstrap для улучшения макета и представления HTML-страницы. Использование Bootstrap (или другого веб-фреймворка на стороне клиента) — это быстрый способ создать привлекательную страницу, которая хорошо отображается на экранах разных размеров.

    Базовый шаблон также ссылается на локальный файл CSS ( styles.css ), который обеспечивает дополнительные стили. Создайте файл styles.css в /locallibrary/catalog/static/css/ и вставьте в него следующий код:

     .сайдбар-навигация {
      поле сверху: 20 пикселей;
      заполнение: 0;
      стиль списка: нет;
    }
     
    Шаблон указателя

    Создайте новый файл HTML index.html в /locallibrary/catalog/templates/ и вставьте в файл следующий код. Этот код расширяет наш базовый шаблон в первой строке, а затем заменяет стандартный блок содержимого для шаблона.

     {% расширяет "base_generic.html" %}
    {% заблокировать содержимое %}
       

    Главная страница местной библиотеки

    <р> Добро пожаловать на LocalLibrary, веб-сайт, разработанный Сеть разработчиков Mozilla!

    Динамический контент

    В библиотеке имеется следующее количество записей:

    <ул>
  • Книги: {{ num_books }}
  • Копии: {{ num_instances }}
  • Доступные копии: {{ num_instances_available }}
  • Авторы: {{ num_authors }}
  • {% конечный блок%}

    В разделе Dynamic content мы объявляем заполнители ( переменные шаблона ) для информации из представления, которое мы хотим включить. Переменные заключены в двойную фигурную скобку (руль).

    Примечание: Вы можете легко распознать переменные шаблона и теги шаблона (функции) — переменные заключены в двойные фигурные скобки ( {{ num_books }} ), а теги заключены в одинарные фигурные скобки со знаками процента ( {% extends "base_generic.html" %} ).

    Здесь важно отметить, что переменные именуются с помощью ключей , которые мы передаем в словарь контекста в функции render() нашего представления (см. пример ниже). Переменные будут заменены связанными с ними значениями 90 129 90 130 при отображении шаблона.

     контекст = {
        'num_books': количество_книг,
        'количество_экземпляров': num_instances,
        'количество_экземпляров_доступно': num_instances_available,
        'количество_авторов': количество_авторов,
    }
    вернуть рендеринг (запрос, 'index.html', контекст = контекст)
     
    Ссылка на статические файлы в шаблонах

    Вероятно, ваш проект использует статические ресурсы, включая JavaScript, CSS и изображения. Поскольку расположение этих файлов может быть неизвестно (или может измениться), Django позволяет указать расположение в ваших шаблонах относительно глобального параметра STATIC_URL . Базовый веб-сайт по умолчанию задает для STATIC_URL значение ' /static/ ', но вы можете разместить их в сети доставки контента или в другом месте.

    Внутри шаблона вы сначала вызываете тег шаблона load , указав «статический», чтобы добавить библиотеку шаблонов, как показано в примере кода ниже. Затем вы можете использовать тег статического шаблона и указать относительный URL-адрес требуемого файла.

     
    {% статическая загрузка %}
    
     

    Аналогичным образом можно добавить изображение на страницу, например:

     {% статическая нагрузка %}
    <изображение
      src="{% статический 'каталог/изображения/local_library_model_uml. png' %}"
      alt="диаграмма UML"
      />
     

    Примечание: В приведенных выше примерах указано, где находятся файлы, но Django не обслуживает их по умолчанию. Мы настроили веб-сервер разработки для обслуживания файлов, изменив глобальный преобразователь URL-адресов ( /locallibrary/locallibrary/urls.py ) при создании скелета веб-сайта, но все же необходимо включить обслуживание файлов в рабочей среде. Мы рассмотрим это позже.

    Для получения дополнительной информации о работе со статическими файлами см. Управление статическими файлами в документации Django.

    Ссылки на URL-адреса

    В базовом шаблоне выше представлен тег шаблона url .

     
  • Главная
  • Этот тег принимает имя функции path() , вызываемой в вашем urls.py , и значения любых аргументов, которые связанное представление получит от этой функции, и возвращает URL-адрес, который можно использовать для ссылки на ресурс.

    Настройка расположения шаблонов

    Место, где Django ищет шаблоны, указано в объекте TEMPLATES в файле settings.py . settings.py по умолчанию (созданный для этого руководства) выглядит примерно так:

     ШАБЛОНЫ = [
        {
            'БЭКЭНД': 'django.template.backends.django.DjangoTemplates',
            'КАТАЛОГИ': [],
            'APP_DIRS': правда,
            'ПАРАМЕТРЫ': {
                'контекстные_процессоры': [
                    'django.template.context_processors.debug',
                    'django.template.context_processors.request',
                    'django.contrib.auth.context_processors.auth',
                    'django.contrib.messages.context_processors.messages',
                ],
            },
        },
    ]
     

    Параметр 'APP_DIRS': True является наиболее важным, так как он сообщает Django о необходимости поиска шаблонов в подкаталоге каждого приложения в проекте с именем "templates" (это упрощает группировку шаблонов с их связанное приложение для легкого повторного использования).

    Мы также можем указать Django определенные места для поиска каталогов, используя 'DIRS': [] (но это пока не нужно).

    Примечание: Вы можете узнать больше о том, как Django находит шаблоны и какие форматы шаблонов он поддерживает, в разделе «Шаблоны» документации Django.

    На данный момент мы создали все необходимые ресурсы для отображения главной страницы. Запустите сервер ( python3 manage.py runserver ) и откройте http://127.0.0.1:8000/ в браузере. Если все настроено правильно, ваш сайт должен выглядеть так, как показано на следующем снимке экрана.

    Примечание: Все книги и Все авторы ссылки пока не будут работать, поскольку пути, представления и шаблоны для этих страниц не определены. Мы только что вставили заполнители для этих ссылок в 9Шаблон 0015 base_generic.html .

    Вот несколько задач, чтобы проверить ваше знакомство с модельными запросами, представлениями и шаблонами.

    1. Базовый шаблон LocalLibrary включает блок title . Переопределите этот блок в шаблоне индекса и создайте новый заголовок для страницы.

      Примечание: В разделе Расширение шаблонов объясняется, как создавать блоки и расширять блок в другом шаблоне.

    2. Изменить представление для создания счетчиков для жанров и книг , содержащих определенное слово (без учета регистра), и передать результаты в контекст . Это делается аналогично созданию и использованию num_books и num_instances_available . Затем обновите шаблон индекса, чтобы включить эти переменные.

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

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

    Добавить комментарий

    Ваш адрес email не будет опубликован. Обязательные поля помечены *