Зробити свій розклад та організація робочого часу

Це так званий тайм менеджмент.

Головне – роби те, що подобається. Це основа для драйву, який робить можливим будь-яке досягнення.

Читати далі →

Django deploy налаштування

Поради як безпечно налаштувати сервер на продакшені

приховати SECRET_KEY

Можемо читати з .env, а можемо з окремого файлу (а також перед кожним запуском формувати новий)

Читати далі →

Wagtail template hints 1

Приклади коду шаблону щоб не забути, (css – bootstrap 5)

{% extends "base.html" %} {% load static wagtailimages_tags wagtailcore_tags %}

{% for file in page.project_file.all %}
{% if forloop.first %} <div>Files:<br> {% endif %}
<a target="_blank" href="{{ file.prj_file.url }}">
<img class="card-img-top mb-5 mb-md-0" src="{{ file.prj_file.url }}" alt="{{ file.description }}" />
</a>
{% if forloop.last %} {% else %}<br> {% endif %} {% endfor %}</div>

Python IDE – # noqa

Зустрів таку позначку

class Meta: # noqa

Виявилось, що це не просто комент. Відключає попередження IDE:

NOQA stands for NO Quality Assurance. What this typically means is that if you have any warning in your IDE, then if you add a comment as # noqa at the end of the line then the warning will be ignored by the IDE.

Ще документація 

 

 

 

Docker quickstart

Зберіг тут швидкий старт  по Docker

для Django – декілька команд швидкого запуску в Docker:

docker –version
sudo docker build -t <project_name> .
docker container ls
docker run -it -p 8000:8080 –name <project_name>
sudo docker exec -it <container_id> /bin/bash
python manage.py makemigrations
python manage.py migrate
python manage.py createsuperuser
python manage.py collectstatic

 

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

Ця тема добре розкрита в  документації 

Додати щось важко, важливо бути уважним. Тут будуть особливості.

Після налаштувань згідно з інструкцією автоматично обирає локаль в залежності від налаштувань браузера відвідувача.

Два варіанти перемикача (ставив в базовий шаблон)

перший – вказано тільки інші мови

{% if page %}
    {% for translation in page.get_translations.live %}
        {% get_language_info for translation.locale.language_code as lang %}
        <a href="{% pageurl translation %}" rel="alternate" hreflang="{{ language_code }}">
            {{ lang.name_local }}
        </a>
    {% endfor %}
{% endif %}

Другий – є усі локалі, налаштовані в settings/base.py

{% for language_code, language_name in LANGUAGES %}
    {% get_language_info for language_code as lang %}

    {% language language_code %}
        <a href="{% pageurl page.localized %}" rel="alternate" hreflang="{{ language_code }}">
            {{ lang.name_local }}
        </a>
    {% endlanguage %}
{% endfor %}

 

{% load i18n %}
{% get_current_language as LANGUAGE_CODE %}
<html class=”no-js” lang=”{{ LANGUAGE_CODE }}”>

 

 

 

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 –email admin@example.com –username admin
python manage.py runserver ‘0.0.0.0:8000’

PS:різновид встановлення Django  з GIT дозволяє встановити будь-який допрацьований проєкт (не обов’язково базований на Django, але тут про нього)

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/