Code Monkey home page Code Monkey logo

blog-backend's Introduction

Блог от Лизы

Блог на 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 — когда пост опубликован, это объект datetime
  • slugслаг

Страница поста

Страница называется 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 — когда пост опубликован, это объект datetime
  • slugслаг

Каждый комментарий — это словарь вида:

  • text — текст комментария
  • published_at — когда пост опубликован, это объект datetime
  • author — строка с именем автора поста

Контакты

Страница называется contact.

Её можно найти по адресу 127.0.0.1:8000/contacts. К шаблонизации в неё отдаётся только переменная html_map. Это строка, в которой лежит HTML-код с картой.

Цели проекта

Код написан в учебных целях — это урок в курсе по Python и веб-разработке на сайте Devman.

blog-backend's People

Contributors

dependabot[bot] avatar pelid avatar voron434 avatar

Stargazers

 avatar  avatar

Watchers

 avatar  avatar  avatar  avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.