Блог на Django, серверная часть.
Для запуска блога у вас уже должен быть установлен Python 3.
- Скачайте код
- Установите зависимости командой
pip install -r requirements.txt - Запустите сервер командой
python3 manage.py runserver
После этого переходите по ссылке 127.0.0.1:8000, вы увидите главную страницу.
Часть настроек проекта берётся из переменных окружения. Чтобы их определить, создайте файл .env рядом с manage.py и запишите туда данные в таком формате: ПЕРЕМЕННАЯ=значение.
Для запуска проекта эти настройки не требуются, значения уже проставлены по умолчанию.
Доступны следущие переменные:
DEBUG— дебаг-режим. ПоставьтеTrue, чтобы увидеть отладочную информацию в случае ошибки. Выключается значениемFalse.SECRET_KEY— секретный ключ проекта. Например:erofheronoirenfoernfx49389f43xf3984xf9384.ALLOWED_HOSTS— см документацию Django.STATIC_URL— по умолчанию это'/static/'. Что такое STATIC_URL.STATIC_ROOT— по умолчанию это'None', т.е. текущая папка. Что такое STATIC_ROOT.MEDIA_URL— по умолчанию это'/media/'. Что такое MEDIA_URL.MEDIA_ROOT— по умолчанию это'media'. Что такое MEDIA_ROOT.
Страница называется index и находится по адресу http://127.0.0.1:8000.
Шаблон страницы получает 2 переменные: most_popular_posts и fresh_posts.
Обе переменные — это списки из постов. Каждый пост — это словарь такого вида:
{
'title': 'Are You Preparing Your Kids for the Real World?',
'text': 'We baby our kids like infants; we coddle them like delicate crystal; ...',
'author': 'Frank Sonnenberg',
'comments_amount': 138,
'image_url': 'image_are-you-preparing-your-kids-for-the-real-world.jpg',
'published_at': datetime.datetime(2017, 6, 4, 2, 9, tzinfo=<UTC>),
'slug': 'are-you-preparing-your-kids-for-the-real-world'
}
Словарь содержит следующие ключи:
title— заголовок постаtext— текст постаauthor— строка с именем автора постаcomments_amount— число комментариев под постомimage_url— ссылка на картинку постаpublished_at— когда пост опубликован, это объект datetimeslug— слаг
Страница называется post_detail и требует передать slug поста. Пример страницы можно найти по адресу http://127.0.0.1:8000/post/5-qualities-of-great-leaders. Это страница поста со слагом 5-qualities-of-great-leaders.
Шаблон страницы получает переменную: post.
post — это словарь, похожий на посты на главной, но с отличиями:
title— заголовок постаtext— текст постаauthor— строка с именем автора постаcomments— список комментариев (о них ниже)likes_amount— число лайков под постомimage_url— ссылка на картинку постаpublished_at— когда пост опубликован, это объект datetimeslug— слаг
Каждый комментарий — это словарь вида:
text— текст комментарияpublished_at— когда пост опубликован, это объект datetimeauthor— строка с именем автора поста
Страница называется contact.
Её можно найти по адресу 127.0.0.1:8000/contacts. К шаблонизации в неё отдаётся только переменная html_map. Это строка, в которой лежит HTML-код с картой.
Код написан в учебных целях — это урок в курсе по Python и веб-разработке на сайте Devman.