Skip to content
Snippets Groups Projects
Select Git revision
  • master default protected
  • v11
  • 3.4.1
3 results

node_modules

  • Clone with SSH
  • Clone with HTTPS
  • Maják

    Maják je CMS pro Pirátské weby. Postavený je na Wagtail.

    code style: Black powered by: Wagtail powered by: Django

    Konfigurace

    Je třeba nastavit environment proměnné:

    proměnná default popis
    DATABASE_URL DSN k databázi (např. postgres://user:pass@localhost:5342/majak)

    Vývoj

    Pro vývoj je definován pomocný Makefile pro časté akce. Pro nápovědu zavolej:

    $ make help

    Lokální instalace a spuštění

    Vytvoření virtualenv pro instalaci závislostí

    Vytvoř virtualenv:

    $ make venv

    Vytvoří virtualenv ve složce .venv. Předpokládá že výchozí python v terminálu je Python 3. Pokud tomu tak není, použijte třeba Pyenv pro instalaci více verzí Pythonu bez rizika rozbití systému.

    Aktivace virtualenvu

    Před prací na projektu je třeba aktivovat virtualenv. To bohužel nejde dělat pomocí nástroje make. Je třeba zavolat příkaz:

    $ source .venv/bin/activate

    Můžete asi na to vytvořit alias pro shell. Do ~/.bash_profile nebo ~/.zshrc nebo jiného konfiguračního souboru dle vašeho shellu přidejte:

    alias senv='source .venv/bin/activate'

    A pak můžete virtualenv aktivovat pouze jednoduchým voláním:

    $ senv

    Pro sofistikovanější řešení, které vám aktivuje virtualenv při změně adresáře na adresář s projektem, slouží nástroj direnv.

    Deaktivace virtualenvu se dělá příkazem:

    $ deactivate

    Instalace závislostí

    V aktivovaném virtualenvu spusťte:

    $ make install

    To nainstaluje Pythonní závislosti pro vývoj projektu na lokále.

    Nastavení environment proměnných

    Nastav environment proměnné (viz konfigurace výše). Pro jednoduchost doporučujeme použít direnv, který nastaví environment proměnné pro vývoj při změně adresáře na adresář s projektem.

    Management projektu

    Migrace databáze

    Aplikuj migrace databáze:

    $ make migrate

    Při změně modelů vygeneruj migrace pomocí:

    $ make migrations

    Spuštění development serveru

    Django development server na portu 8006 se spustí příkazem:

    $ make run

    Poté můžete otevřít web na adrese http://localhost:8006

    Django shell

    Django shell používající shell_plus z Django extensions spustíte:

    $ make shell

    Code quality

    K formátování kódu se používá black. Doporučujeme ho nainstalovat do vašeho editoru kódu, aby soubory přeformátoval po uložení.

    Přeformátování kódu nástrojem black je součástí pre-commit hooks (viz níže).

    Součástí pre-commit hooků je také automatické seřazení importů v Pythonních souborech nástrojem isort.

    Pre-commit hooky

    Použivá se pre-commit framework pro management git pre-commit hooks.

    Máte-li pre-commit framework nainstalovaný spusttě příkaz:

    $ make install-hooks

    Ten naisntaluje hooky pro projekt. A poté při každém commitu dojde k požadovaným akcím na změněných souborech.

    Ručně se dají hooky na všechny soubory spustit příkazem:

    $ make hooks

    Upgrade závislostí

    K upgrade se používají pip-tools (pip install pip-tools):

    $ cd requirements/
    $ pip-compile -U base.in
    $ pip-compile -U production.in

    Tím se vygenerují base.txt a production.txt.