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

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

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 скопіювати…

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

Django та версії Python

Тут є таблиця сумісності яку про всяк випадок продублюю в себе What Python version can I use with Django?¶ Django version Python versions 3.2 3.6, 3.7, 3.8, 3.9, 3.10 (added in 3.2.9) 4.0 3.8, 3.9, 3.10 4.1 3.8, 3.9, 3.10, 3.11 (added in 4.1.3) 4.2 3.8, 3.9, 3.10, 3.11 5.0 3.10, 3.11, 3.12   Django…

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

Магічні методи (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 (бо начитався  книжок та надивився корисного з відосиків). Розпочнемо з простого. Рівні виконання коду. Об”єкти треба…

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