From 2c89cee7ac3d2ffedb23912c81804111d063eb9b Mon Sep 17 00:00:00 2001 From: pi3c Date: Sun, 8 Oct 2023 12:26:47 +0300 Subject: [PATCH] =?UTF-8?q?=D0=B8=D1=81=D0=BF=D1=80=D0=B0=D0=B2=D0=B8?= =?UTF-8?q?=D0=BB=20=D0=BA=D0=BE=D0=BF=D0=B8=D1=80=D0=B0=D0=B9=D1=82=D1=81?= =?UTF-8?q?=20=D0=B2=20=D1=84=D1=83=D1=82=D0=B5=D1=80=D0=B5,=20=D0=BE?= =?UTF-8?q?=D1=82=D0=BE=D0=B1=D1=80=D0=B0=D0=B6=D0=B0=D0=BB=D0=B8=D1=81?= =?UTF-8?q?=D1=8C,=20=D0=BD=D0=BE=20jinja2=20=D1=80=D1=83=D0=B3=D0=B0?= =?UTF-8?q?=D0=BB=D0=B0=D1=81=D1=8C?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- LICENSE.md | 9 ++++ README.md | 64 ++++++++++++++++++++++++++- pyproger/blog/urls.py | 10 ++--- pyproger/config.py | 19 ++++---- pyproger/templates/blog/base.html | 8 ++-- pyproger/templates/blog/index.html | 16 +++++++ pyproger/templates/blog/page.html | 16 +++++++ pyproger/templates/blog/postview.html | 16 +++++++ pyproger/templates/blog/tags.html | 21 +++++++-- 9 files changed, 154 insertions(+), 25 deletions(-) create mode 100644 LICENSE.md diff --git a/LICENSE.md b/LICENSE.md new file mode 100644 index 0000000..5687456 --- /dev/null +++ b/LICENSE.md @@ -0,0 +1,9 @@ +Лицензия MIT + +Copyright © 2023 Сергей Ванюшкин + +Данная лицензия разрешает лицам, получившим копию данного программного обеспечения и сопутствующей документации (в дальнейшем именуемыми «Программное Обеспечение»), безвозмездно использовать Программное Обеспечение без ограничений, включая неограниченное право на использование, копирование, изменение, слияние, публикацию, распространение, сублицензирование и/или продажу копий Программного Обеспечения, а также лицам, которым предоставляется данное Программное Обеспечение, при соблюдении следующих условий: + +Указанное выше уведомление об авторском праве и данные условия должны быть включены во все копии или значимые части данного Программного Обеспечения. + +ДАННОЕ ПРОГРАММНОЕ ОБЕСПЕЧЕНИЕ ПРЕДОСТАВЛЯЕТСЯ «КАК ЕСТЬ», БЕЗ КАКИХ-ЛИБО ГАРАНТИЙ, ЯВНО ВЫРАЖЕННЫХ ИЛИ ПОДРАЗУМЕВАЕМЫХ, ВКЛЮЧАЯ ГАРАНТИИ ТОВАРНОЙ ПРИГОДНОСТИ, СООТВЕТСТВИЯ ПО ЕГО КОНКРЕТНОМУ НАЗНАЧЕНИЮ И ОТСУТСТВИЯ НАРУШЕНИЙ, НО НЕ ОГРАНИЧИВАЯСЬ ИМИ. НИ В КАКОМ СЛУЧАЕ АВТОРЫ ИЛИ ПРАВООБЛАДАТЕЛИ НЕ НЕСУТ ОТВЕТСТВЕННОСТИ ПО КАКИМ-ЛИБО ИСКАМ, ЗА УЩЕРБ ИЛИ ПО ИНЫМ ТРЕБОВАНИЯМ, В ТОМ ЧИСЛЕ, ПРИ ДЕЙСТВИИ КОНТРАКТА, ДЕЛИКТЕ ИЛИ ИНОЙ СИТУАЦИИ, ВОЗНИКШИМ ИЗ-ЗА ИСПОЛЬЗОВАНИЯ ПРОГРАММНОГО ОБЕСПЕЧЕНИЯ ИЛИ ИНЫХ ДЕЙСТВИЙ С ПРОГРАММНЫМ ОБЕСПЕЧЕНИЕМ. diff --git a/README.md b/README.md index 167c873..8f4b2f4 100644 --- a/README.md +++ b/README.md @@ -1,3 +1,63 @@ -# pyproger +# Pyproger blog -Blog about python \ No newline at end of file +### Описание +Данный проект начинался как pet-проект в рамках изучения фреймворка Flask, но решил выпустить его в "свет". + +Проект полностью написан на телефоне с андроидом на борту🙂, о чем буду рассказывать в этом блоге. + +Блог доступен по адресу https://pyproger.ru + +### Возможности +- Админ панель управления контентом +- Отображение всех записей с пагинацией +- Добавление тэгов к статьям +- Отображение статей по тэгам + +### Зависимости +- Для работы сервиса необходима установленная СУБД postgresql. Создана база данных и пользователь с правами на нее. +- poetry - Система управления зависимостями в Python. + +Остальное добавиться автоматически на этапе установки. + +### Установка +Установите и настройте postgresql согласно офф. документации. Создайте пользователя и бд. + +Установите (если еще не установлены) python и python-pip, git + +Установите систему управления зависимостями +> `$ pip install poetry` + +Клонируйте репозиторий +> `$ git clone https://git.pi3c.ru/pi3code/pyproger.git` + +Перейдите в каталог, создайте и запустите виртуальное окружение +> `$ cd pyproger` + +> `$ poetry install` + +> `$ poetry shell` + +Запустите скрипт создания начальной конфигурации. +> `$ python ./generate_dotenv.py` + +Скрипт запросит данные необходимые для подключения к бд и создаст .env файл с "секретами" необходимыми для работы. + +Примените миграции в базу данных и создайте учетную запись Администратора +> `$ flask db upgrade` + +> `$ flask create-superuser ` + +где замените своим логином, ответьте на вопросы. +Данные этого пользователя будут необходимы для входа в административную часть сайта + +Запустите приложение +> `$ flask run` + +Перейдите в браузере по адресу 127.0.0.1:5000 для доступа к блогу или 127.0.0.1:5000/admin в админ панель + +### Авторы +- Сергей Ванюшкин + +### Лицензия +Распространяется под [MIT лицензией](https://www.opensource.org/licenses/mit-license.php). +Подробнее на русском в файле LICENSE.md diff --git a/pyproger/blog/urls.py b/pyproger/blog/urls.py index 0d2f94a..8efa336 100644 --- a/pyproger/blog/urls.py +++ b/pyproger/blog/urls.py @@ -32,7 +32,7 @@ def index(page=1): total_pages=total_pages, list_pages=list_pages, mylinks=current_app.config.get("MYLINKS"), - copyright=current_app.config.get("COPYRIGHT"), + copyright=current_app.config.get("MYCOPYRIGHT"), ) @@ -60,7 +60,7 @@ def post(slug=None): menu_items=current_app.config.get("MENU_ITEMS"), post=current_post, mylinks=current_app.config.get("MYLINKS"), - copyright=current_app.config.get("COPYRIGHT"), + copyright=current_app.config.get("MYCOPYRIGHT"), ) else: abort(404) @@ -77,7 +77,7 @@ def get_all_tags(): tags=tags, menu_items=current_app.config.get("MENU_ITEMS"), mylinks=current_app.config.get("MYLINKS"), - copyright=current_app.config.get("COPYRIGHT"), + copyright=current_app.config.get("MYCOPYRIGHT"), ) @@ -110,7 +110,7 @@ def get_posts_by_tag(page=1, tag=None): total_pages=total_pages, list_pages=list_pages, mylinks=current_app.config.get("MYLINKS"), - copyright=current_app.config.get("COPYRIGHT"), + copyright=current_app.config.get("MYCOPYRIGHT"), ) @@ -127,5 +127,5 @@ def page(slug=None): menu_items=current_app.config.get("MENU_ITEMS"), content_body=page.text, mylinks=current_app.config.get("MYLINKS"), - copyright=current_app.config.get("COPYRIGHT"), + copyright=current_app.config.get("MYCOPYRIGHT"), ) diff --git a/pyproger/config.py b/pyproger/config.py index d81d3bd..c485356 100755 --- a/pyproger/config.py +++ b/pyproger/config.py @@ -1,19 +1,18 @@ import os # Настройки блога -BRAND = "pyproger" -COPYRIGHT = { +BRAND = "блог" +MYCOPYRIGHT = { "year": "2023", - "name": "Сергей Вaнюшкин", - "link": "https://pi3c.ru", - "city": "г.Нарьян-Мар, Ненецкий А.О.", + "name": "Иванов Иван", + "link": "http://yandex.ru", + "city": "г.Москва", } MYLINKS = ( - {"icon": "fab fa-telegram", "link": "https://t.me/pi3c_nao"}, - {"icon": "fab fa-vk", "link": "https://m.vk.com/pi3c_nao"}, - {"icon": "fab fa-yandex", "link": "mailto:pi3c@yandex.ru"}, - {"icon": "fab fa-github", "link": "https://github.com/pi3c"}, - {"icon": "fa fa-gitea", "link": "https://git.pi3c.ru"}, + {"icon": "fab fa-telegram", "link": "https://t.me"}, + {"icon": "fab fa-vk", "link": "https://m.vk.com"}, + {"icon": "fab fa-yandex", "link": "mailto:user@yandex.ru"}, + {"icon": "fab fa-github", "link": "https://github.com"}, ) POSTS_ON_PAGE = 6 diff --git a/pyproger/templates/blog/base.html b/pyproger/templates/blog/base.html index 25b3193..83d4aef 100644 --- a/pyproger/templates/blog/base.html +++ b/pyproger/templates/blog/base.html @@ -83,7 +83,7 @@
-
pyproger.ru
+
{{ menu_title }}.ru
  • @@ -141,10 +141,10 @@ - © {{ copyright.year}} - {{ copyright.name}} + © {% block copyright_year%}{% endblock %} + {% block copyright_name %}{% endblock %}
    - {{copyright.city}} + {% block copyright_city%}{% endblock %}
    diff --git a/pyproger/templates/blog/index.html b/pyproger/templates/blog/index.html index c44ba1a..5dea970 100644 --- a/pyproger/templates/blog/index.html +++ b/pyproger/templates/blog/index.html @@ -55,3 +55,19 @@
{% endblock %} + +{% block copyright_year %} +{{ copyright.year }} +{% endblock %} + +{% block copyright_name %} +{{ copyright.name }} +{% endblock %} + +{% block copyright_link %} +{{ copyright.link }} +{% endblock %} + +{% block copyright_city %} +{{ copyright.city }} +{% endblock %} diff --git a/pyproger/templates/blog/page.html b/pyproger/templates/blog/page.html index 0932fbe..9eb1225 100644 --- a/pyproger/templates/blog/page.html +++ b/pyproger/templates/blog/page.html @@ -21,3 +21,19 @@
{% endblock %} + +{% block copyright_year %} +{{ copyright.year }} +{% endblock %} + +{% block copyright_name %} +{{ copyright.name }} +{% endblock %} + +{% block copyright_link %} +{{ copyright.link }} +{% endblock %} + +{% block copyright_city %} +{{ copyright.city }} +{% endblock %} diff --git a/pyproger/templates/blog/postview.html b/pyproger/templates/blog/postview.html index 8b42fcb..ad13a91 100644 --- a/pyproger/templates/blog/postview.html +++ b/pyproger/templates/blog/postview.html @@ -15,3 +15,19 @@
{% endblock %} + +{% block copyright_year %} +{{ copyright.year }} +{% endblock %} + +{% block copyright_name %} +{{ copyright.name }} +{% endblock %} + +{% block copyright_link %} +{{ copyright.link }} +{% endblock %} + +{% block copyright_city %} +{{ copyright.city }} +{% endblock %} diff --git a/pyproger/templates/blog/tags.html b/pyproger/templates/blog/tags.html index fd8e50a..81379aa 100644 --- a/pyproger/templates/blog/tags.html +++ b/pyproger/templates/blog/tags.html @@ -21,8 +21,21 @@ {% endfor %} - - Назад - - + +{% endblock %} + +{% block copyright_year %} +{{ copyright.year }} +{% endblock %} + +{% block copyright_name %} +{{ copyright.name }} +{% endblock %} + +{% block copyright_link %} +{{ copyright.link }} +{% endblock %} + +{% block copyright_city %} +{{ copyright.city }} {% endblock %}