Ako nakonfigurovať Django a nezblázniť sa pri tom

Nanooq IT
Nanooq IT
Jul 28, 2017 · 4 min read

Začiatok vývoja v Djangu nie je jednoduchý a mnohokrát sa programátori stále venujú inštalovaniu Pythonu a Djanga namiesto programovania projektu. Rozhodla som sa, že napíšem zhrnutie ako si tento proces inštalácií a konfigurácií urýchliť a zjednodušiť pre profesionálne využitie pomocou osvedčených vývojových štandardov a postupov.

Inštalácia bude prebiehať na Gite, čiže sa predpokladá, že každý z vás má Git plne funkčný. Taktiež sa predpokladá, keďže začínate s vývojom v Djangu, že máte funkčne nainštalovaný na počítači Python buď vo verzii 2.7 alebo 3.3.

Krok 1 — Inštalácia Djanga

Prvým a veľmi dôležitým krokom je inštalácia rozšírenia VIRTUALENV, ktoré nám umožní vytvoriť virtualenvwrapper na riadenie inštalácií Djanga z dôvodu existujúcich závislostí medzi Pythonom, Djangom a viacerými projektami na vašom počítači. VIRTUALENV nainštalujete jednoducho pomocou PIPu umožňujúcu prácu s balíčkami aplikácie.

pip install virtualenvwrapper

Krok 2 — Vytvorenie nového vývojového prostredia

Vytvorenie nového prostredia pre vývoj je jednoduché prostredníctvom príkazu:

virtualenv django_project

Po spustení príkazu nastanú nasledujúce situácie:

  • vytvorenie projektu s názvom django_project (názov projektu je ľubovoľný podľa konvencií názvoslovia)
  • automatické vytvorenie distribúcie Lib

Krok 3 — Aktivácia virtuálneho prostredia

Po nainštalovaní virtualenv je nutné ho aktivovať:

$ source/bin/activate.bat

Krok 4 — Konečne inštalácia samotného Djanga

Až v tomto kroku dochádza k samotnej inštalácii Djanga do Vášho projektu pomocou príkazu:

pip install django

Potvrdenie inštalácie pomocou

which django-admin.py

Inštalácia by bola za nami. Ďalej je nutné projekt správne nakonfigurovať

Krok 5 — Pripojenie ku GITu a GITHUBu

Je nutné využívať jeden z verzionovacích systémov. Môžte si vybrať buď GIT, ktorý používam aj ja alebo Mercurial a pripojiť ho k repozitáru na Bitbuckete.

Krok 6 — Vytvorenie projektu

Konečne sa dostávame k niečomu zmysluplnému, ideme spolu vytvoriť adresárovú štruktúru projektu. Tento tutoriál je písaný pre verziu Django 1.6, ktorý má od verzií 1.3 a 1.4 odlišnú adresárovú štruktúru. Viac informácií na oficiálnej stránke Djanga.

Poďme konečne na to :)

django-admin.py startapp project django_project

Chcela by som vás upozorniť v tomto kroku na rozdiel medzi projektom a aplikáciou v Djangu. Projekt obsahuje všetky balíčky súhrnne dokopy, zatiaľ čo aplikácia je samostatný modul obsahujúca vlastný inicializačný súbor a podsúbory. Aplikácia sa vytvára príkazom

python manage.py startapp app_name

Po prevedení tohto príkazu by ste mali mať nasledovnú štruktúru projektu:

  • django_project
  • settings.py
  • urls.py
  • wsgi.py
  • manage.py

Krok 7 — Nastavenie repozitáru

Po vytvorení základnej štruktúry prejdite do koreňového adresáru projektu. Následne projekt inicializujte a vytvorte v ňom prázdny git repozitár.

git init

Pridanie projektu do repozitáru

git add django_project

Komitnutie zmien

git commit -am "prvý komit"

Krok 8 — Databázové migrácie pomocou knižnice South

Jednou z najfrustrujúcejších aspektov Djanga je zmena modelovej vrstvy aplikácie a zmeny v databáze. Tento problém je možné vyriešiť pomocou South, ktorá umožňuje vytvoriť celú aplikáciu bez nutnosti písať kód pre databázu. Zmeny modelovej vrstvy sú automaticky zaznamenané. Život je zrazu jednoduchší. :)

pip install south

  • Po nainštalovaní South-u je nutné pridať ho do INSTALLED_APPS v súbore settings.py.
  • Ďalším krokom je spustenie príkazu pre databázové migrácie

python manage.py syncdb

Krok 9 — Update zmien do GITu

Po tomto kroku je dobré zaznamenať zmeny do repozitáru.

git status

Zobrazí nám všetky zmeny od poslednej úpravy repozitáru.

Krok 10 — Vytvorenie .gitignore súboru

Pred nahratím nových súborov do repozitáru si vytvoríme súbor .gitignore , kde definujeme súbory, ktoré nebude do repozitáru zahrnuté. Pre Python je dobré zahrnúť určite:

Krok 11 — Vytvorenie requirementov

Ešte je potrebné vytvoriť súbor requirements, kde definujeme všetky potrebné inštalácie projektu.

pip freeze > requirements.txt

Krok 12 — Nastavenie projektu

Vytvoríme si nový adresár s názvom conf , kde vložíme súbor settings.py. Settings.py obsahuje zoznam všetkých nainštalovaných aplikácií, preto je dobré si ho logicky rozčleniť do troch častí:

  • DEFAULT_APPS — obsahuje základne Django aplikácie, ktoré sú súčasťou distribúcie nainštalované pomocou príkazu admin
  • THIRD_PARTY_APPS — aplikácie tretích strán (napríklad South)
  • LOCAL_APPS — vlastne vytvorené aplikácie

Krok 13 — Vytvorenie aplikácie

Pomocou príkazu manage.py aplikáciu vytvoríme bežným spôsobom

python manage.py startapp my_app

a následne ju pridáme do INSTALLED_APPS.

Krok 14 — Vytvorenie databázových migrácií

Prvá vec, ktorú je nutné urobiť sú databázové migrácie.

python manage.py schemamigration my_app -initial

Vytvoríme súbor migrate.py , ktorý automaticky updatne našu modelovú vrstvu pri zmenách. Taktiež je možné vrátiť zmeny v databáze pomocou:

python manage.py migrate my_app

Krok 15 — Vytvorenie vývojového prostredia

Dobrým zvykom je oddeliť vývojovú verziu od testovacej verzie. V našom prípade stačí vytvoriť adresár mimo projektu, kde bude klon našej vývojovej verzie. Pri práci s vývojovou a testovacou verziou si v GITe vytvoríme vetvy , nazývané branche.

git checkout -b <branchname>

Krok 16 — Nasadenie aplikácie

Aplikáciu máme pripravenú pre nasadenie na server. Ako na to? Pomocou jednoduchého nástroja Fabric.

pip install fabric

čo nám vytvorí súbor s názvom fabfile.py, ktorý upravíme nasledovne:

from fabric.api import local

def prepare_deployment(branch_name):

local(“python manage.py test django_project”)

local(“git add -p && git commit”)

Potom spustíme príkaz:

fab prepare_deployment

fab deploy

Nanooq IT

Nanooq IT

We write about our work, ideas, projects and interesting IT topics

Welcome to a place where words matter. On Medium, smart voices and original ideas take center stage - with no ads in sight. Watch
Follow all the topics you care about, and we’ll deliver the best stories for you to your homepage and inbox. Explore
Get unlimited access to the best stories on Medium — and support writers while you’re at it. Just $5/month. Upgrade