[python] Django a debianí balí?kovací systém

David Rohleder davro na ics.muni.cz
Pondělí Červenec 11 20:26:17 CEST 2016


Ahoj,

mám tak trochu problém nalezením řešení pro jednu konkrétní situaci:

Máme vlastní django aplikaci a rádi bychom ji zabalili jako debianí
balík. Z mého pohledu potřebuju něco typu - jedno django - jedna
aplikace. Bohužel django používá jinou filozofii - jedno django - mnoho
aplikací (které také sdílejí jednu databázi a pod).

Když django startuje projekt, tak vytvoří základní kostru pro aplikace
ve tvaru:

myproject/
    manage.py
    myproject/
        __init__.py
	settings.py
        urls.py
        wsgi.py

každá aplikace si pak vytvoří svůj vlastní podstrom 

myproject/
    manage.py
    blog/
        __init__.py
        models.py
        managers.py
	settings.py
        views.py
        urls.py
        templates/

cílem je, aby byly jednotlivé aplikace v rámci jednoho djanga tzv.
self-contained.


Já mám ovšem pocit, že toto není úplně šťastné řešení a chtěl bych, aby
každá aplikace byla separátní instancí djanga (a o řízení se staral
třeba apache) - žádné sdílení databáze mezi jednotlivými aplikacemi a
pod.

Cílem je, abych mohl vytvořit debianí balík tak, abych mohl vedle sebe
nainstalovat několik oddělených aplikaci (které mezi sebou nemají žádný
vztah). Ideálně tak, že bych měl pouze adresář 

myproject/
    manage.py
    myproject/
        __init__.py
        urls.py
        wsgi.py
        models.py
        managers.py
        views.py
    
    urls.py
        templates/

problém je v tom, že takto django moc nefunguje a zatím musí mít člověk minimálně dva adresáře - jeden se samotným djangem (settings.py a spol.) a další se samotnou aplikací.

Ví někdo, jak se správně vyrábí django balík pro nějakou linuxovou distribuci (debian, RH)? Případně jak na to? Nerad bych se dopustil nějaké prasárny, která by mně do budoucnosti zkomplikovala práci.

Dík

David


Další informace o konferenci Python