A heroku használata webes alkalmazás telepítéséhez a django-hoz

Nem részletezem részletesen a Django alkalmazás telepítésének teljes folyamatát, mert jól ismerteti a hivatalos kézikönyvet. Ebben a cikkben csak rövid összefoglalást készítek és leírom azokat a problémákat, amelyekkel találkoztam.

Django alkalmazás telepítése a Heroku-ba

Tehát az alkalmazás telepítéséhez a következő parancsokat kell futtatnia:
A csomópont állapotát a ps paranccsal ellenőrizheti:
A naplót a parancsnapló segítségével láthatja:
Django parancsokat futtathat a run paranccsal:

A probléma Python csomagok frissítésével

Nincs közvetlen hozzáférése a virtuális környezethez, így nem tudtam a Herokót frissíteni a legújabb Django verzióra. Most részletesebben elmagyarázom. Tegyük fel, hogy a projekt létrehozásakor a Django 1.7.3 verziója naprakész volt, és ma az 1.7.8-as verzió releváns. A requirements.txt megváltoztatható minden alkalommal, amikor elhagyja a Django új verzióját, de azt szeretném, ha a csomagok automatikusan frissülnének.
Általában ezt teszem:
És a requirements.txt-ben ezt a sort:
Tehát, ha a requirements.txt-ban megadja, hogy a Django 1.8-as verziója mellett szeretnék, akkor a régi 1.7.3-os verzió nem frissül, mert az 1.7.3 szintén 1.8-nál fiatalabb. A StackOverflow-on számos vita folyik e témában:
  • Hogyan lehet személyre szabni a pip's requirements.txt-ot a Heroku telepítéskor?
  • Hogyan frissíthetem a dependenciát a Python-projektben a Heroku-n?

A Django alkalmazás különböző környezetekben történő konfigurálásának problémája

Jellemzően az alkalmazás különböző verziókban található különböző számítógépeken. Az alkalmazásbeállítások automatikus módosításához szükséges sablonok további beállításokat importálnak a settings.py fájlba.
Általában töröltem a szükséges fájlokat a szkript segítségével a projektek telepítéséhez. De maga Heroku telepíti az alkalmazást, és mindent megtesz, ami a tárolóban van. Oldja meg ezt a problémát legalább két módon:
  • különböző gerinceket használ különböző golyókkal a .gitignore-ban különböző környezetekben,
  • használja a Heroku környezeti változókat.
A második út egyszerűbbnek tűnik számomra.
A Heroku alkalmazás változó környezetét a következő paranccsal lehet létrehozni:
Most a settings.py fájlom vége így néz ki:

További információk

Kapcsolódó cikkek