Категорія: Програмування

Те, що стосується програмування. Скрипти для роботи, мої проекти, мої нотатки.

Wagtail – налаштування мови сайту

Ця тема добре розкрита в  документації  Додати щось важко, важливо бути уважним. Тут будуть особливості. Після налаштувань згідно з інструкцією автоматично обирає локаль в залежності від налаштувань браузера відвідувача. Два варіанти перемикача (ставив в базовий шаблон) перший – вказано тільки інші мови {% if page %} {% for translation in page.get_translations.live %} {% get_language_info for…

Прочитати статтю повністю

Django записник

Розгортаємо (наприклад версія Python 3.9, тут для Windows): python3.9 -m venv env source env/bin/activate python -m pip install –upgrade pip pip install django АБО pip install git+https://github.com/django/django.git # (альтернатива встановлення з GIT ) pip install -r requirements.txt  # (якщо цей файл є ) python manage.py makemigrations python manage.py migrate python manage.py createsuperuser python manage.py createsuperuser…

Прочитати статтю повністю

Wagtail записник

Розгортаємо: python3.9 -m venv env pip install wagtail wagtail start mysite . pip install -r requirements.txt python manage.py makemigrations python manage.py migrate python manage.py createsuperuser все схоже як у Django pagination не оптимально, але для старту ок https://learnwagtail.com/tutorials/how-to-paginate-your-wagtail-pages/

Django model підказки

Для Foreign – поля обов’язково використовувати on_delete=models.опція є такі ключі: CASCADE: When the referenced object is deleted, also delete the objects that have references to it (when you remove a blog post for instance, you might want to delete comments as well). SQL equivalent: CASCADE. PROTECT: Forbid the deletion of the referenced object. To delete it…

Прочитати статтю повністю

Django database питання

Важливі моменти по роботі з базами даних в ORM Django. Якщо існує база даних і її треба приєднати до проєкту. Треба робити щось схоже на таке: налаштувати підключення бази даних ( підключення default) створити модель бази командою python manage.py inspectdb –database=default інколи можливо отримати тільки модель кожної таблиці окремо: python manage.py inspectdb –database=default TableName скопіювати…

Прочитати статтю повністю

Магічні методи (dunder )

Магічні методи це методи, що виконуються без явного виклику(__init__, __add__, __len__, __repr__ та інші). Термін: dunder  = double undescore (з двох боків від надви подвійні підкреслення). Тут опишу те, що використовую або планую використовувати. Як підказку (така собі cheatsheet) __init__(self, par1, par2, …. parN): # використовується для створення властивостей класу. створює властивості об”єкту під час…

Прочитати статтю повністю

Django: проект для кіно Частина 1

Виникла ідея переробити застосунок, який допомагає робити кіно. Почав з Telegram-Bot та складність почала зростати і прийняв рішення почати спочатку та врахувати особливості та побажання співробітників, хто був дотичний до проекту. Отже, які зміни: вся інформація зберігається в базі даних (розробка:sqlite, продакшен:postgreSQL) зробити WEB-інтерфейс (Django) інтеграція/сумісна робота Django та Telegram-Бота ці зміни спрощують роботу над…

Прочитати статтю повністю

mdadm: Перевірка стану, заміна диску.

Сервер з mdadm Raid6 на Ubuntu 20 диски в масивах треба регулярно перевіряти. Знайшов bash-скрипт і трохи вдосконалив: #!/bin/bash for i in {a..q}; do echo “Disk sd$i” $SN $MD smartctl -i -A /dev/sd$i |grep -E “^ “5”|^”197″|^”198″|”FAILING_NOW”|”Serial”” done Несподівано, на одному з дисків Disk sdq Device Model: HGST HUH721008ALE604 Serial Number: 1SGUPUEZ 5 Reallocated_Sector_Ct 0x0033…

Прочитати статтю повністю

Telegram-bot на python. 4 Структура програми, по-новому перероблене.

Бот, з якого почав своє навчання – виявився досить складним. Прототип працює, але в деяких місцях я “зрізав кути” і при спробі перевести на робочі дані виникла потреба перебудувати (ЗНОВУ!) взаємодію об”єктів. Зрештою, треба частину коду переробити на python-style (бо начитався  книжок та надивився корисного з відосиків). Розпочнемо з простого. Рівні виконання коду. Об”єкти треба…

Прочитати статтю повністю