KREIRANJE DJANGO WEB APLIKACIJE-POČETAK
Django web framework pruža podršku programerima u razvijanju web aplikacije. Django je zasnovan na model - view - template arhitekturi i unutar root foldera treba da se kreiraju određeni, potrebni fajlovi i folderi po tačno određenom pravilu.
Da podsetimo, opis aplikacije bi bio sledeći:
Aplikacija treba da omogući korisniku da kreira logo, tako što će na osnovu unetog imena ili naziva firme, odabrane kategorije ponudi početnu verziju za logo, omogući korisniku da edituje logo, sačuva ga, a zatim id a ga preuzme na svoj računar. Aplikacija takođe treba da ima i deo za registrovanje, kao i logovanje korisnika. U nastavku će biti pokazan samo deo aplikacije, koji se sastoji od naslovne strane, dela za registraciju korisnika, kao i logovanje korisnika. Takođe će se pokazati i kako se kreira baza, superuser i kako da se iskoristi Djangov admin interfejs za upravljanje registrovanim korisnicima. Kada korisnik upiše u polju za unos ime ili naziv, biće izvršeno preusmeravanje na stranu za registraciju. Posle uspešnog registrovanja, a zatim i prijavljivanja na system, korisniku će se učitati sledeće stranica na kojoj on dalje bira kategoriju za logo i gde će mu se ponuditi početna verzija logo-a. |
Početak kreiranja aplikacije-video |
Instalacija git-a
Odgovarajući instaler za git se može preuzeti sa https://git-scm.com/download/win
To je program koji omogućava komunikaciju između udaljenog servera i lokalnog foldera (repozitorijuma). To je zapravo version control system.
Drugi način je da se instalira github desktop aplikacija, koja onda instalira i git:
https://desktop.github.com/
To je program koji omogućava komunikaciju između udaljenog servera i lokalnog foldera (repozitorijuma). To je zapravo version control system.
Drugi način je da se instalira github desktop aplikacija, koja onda instalira i git:
https://desktop.github.com/
Heroku CLI(heroku command line interface)
Sistem komandi za rad na lokalu i razne komande za razvoj aplikacije na lokalu i na heroku sajtu. Skinuti i pokrenuti odgovarajući instaler sa strane https://devcenter.heroku.com/articles/getting-started-with-python#set-up
Komanda za logovanje na sajt: heroku login
Kreiranje aplikacije na lokalu koristeći DJANGO framework
Koristan tutorijal: https://www.tutorialspoint.com/django/index.htm
Jedan od načina da se instalira đango je korišćenjem command prompta i pip paketa za instalaciju đanga. Ukucati:
pip install Django==3.0
pip install Django==3.0
Ako to već niste treba instalirati postgresql bazu. Potreban je adapter za pajton psycopg2.
Svi paketi koji su potrebni projektu treba da budu navedeni u fajlu requirements.txt. To će se uraditi komandom u command promt. Biće opisano kasnije.
Instalirati virtualno okruženje za pajton https://virtualenv.pypa.io/en/latest/
Svi paketi koji su potrebni projektu treba da budu navedeni u fajlu requirements.txt. To će se uraditi komandom u command promt. Biće opisano kasnije.
Instalirati virtualno okruženje za pajton https://virtualenv.pypa.io/en/latest/
Instalacija django framework-a
Ukucati sledeću komandu u command prompt-u:
python -m pip install Django
Kreiranje Django projekta
Da bi se kreirao kostur aplikacije na lokalnom računaru u Command Prompt-u treba dovesti do nadfoldera u kome će biti kreiran root aplikacije i zatim otkucati sledeću naredbu:
django-admin startproject myproject
Npr. da bi bio kreiran projekat pod nazivom logo_kreator koji se nalazi na lokalu u direktorijumu:
C:\websites\repozitorijum
Prvo treba u Command-Prompt-u dovesti do tog direktorijuma, a zatim otkucati komandu :
C:\websites\repozitorijum
Prvo treba u Command-Prompt-u dovesti do tog direktorijuma, a zatim otkucati komandu :
django-admin startproject logo_kreator
Kreira se folder logo_kreator čija je struktura:
myproject/
manage.py
myproject/
__init__.py
settings.py
urls.py
wsgi.py
U posmatranom primeru:
logo_kreator /
manage.py
logo_kreator /
__init__.py
settings.py
urls.py
wsgi.py
myproject/
manage.py
myproject/
__init__.py
settings.py
urls.py
wsgi.py
U posmatranom primeru:
logo_kreator /
manage.py
logo_kreator /
__init__.py
settings.py
urls.py
wsgi.py
Fajl manage.py služi sa projektom putem komande linije.
Ostali fajlovi moraju biti smešteni u podfolderu koji ima isti naziv kao i sam projekat i u njemu se nalaze sledeći fajlovi:
__init__.py
settings.py- Ovde se unose podešavanja vezana za projekat
urls.py- Linkovi u okviru projekta i funkcije koji se pozivaju preko url - ova. Postoje fajlovi gde se smeštau linkovi za pojedine aplikacije sadržane u projektu i oni su unutar samih podfoldera koji predstavljaju te aplikacije. U ovom, da kažemo glavnom fajlu za url-ove, se linkuju ti pojedinačni url fajlovi aplikacija.
wsgi.py
Ostali fajlovi moraju biti smešteni u podfolderu koji ima isti naziv kao i sam projekat i u njemu se nalaze sledeći fajlovi:
__init__.py
settings.py- Ovde se unose podešavanja vezana za projekat
urls.py- Linkovi u okviru projekta i funkcije koji se pozivaju preko url - ova. Postoje fajlovi gde se smeštau linkovi za pojedine aplikacije sadržane u projektu i oni su unutar samih podfoldera koji predstavljaju te aplikacije. U ovom, da kažemo glavnom fajlu za url-ove, se linkuju ti pojedinačni url fajlovi aplikacija.
wsgi.py
Podešavanje Baze i debug moda u okviru settings.py
Da bi se podesila baza SQLite3 ili Postgresql u settings.py treba podesiti :
DATABASES = {
'default': {
}
'ENGINE': 'django.db.backends.sqlite3',
'NAME': 'database.sql',
'USER': '',
'PASSWORD': '',
'HOST': '',
'PORT': '',
}'NAME': 'database.sql',
'USER': '',
'PASSWORD': '',
'HOST': '',
'PORT': '',
Ovo je podrazumevano podešavanje. Da bi baza bila postgreSQL, u okviru projekta get-moj-logo treba podesiti:
DATABASES = {
'default': {
}
#'ENGINE': 'django.db.backends.sqlite3',
#'NAME': 'database.sql',
'ENGINE': 'django.db.backends.postgresql_psycopg2',
'logodb': 'database.sql',
'USER': 'postgres',
'PASSWORD': '*******',
'HOST': 'localhost',
'PORT': '5432',
}#'NAME': 'database.sql',
'ENGINE': 'django.db.backends.postgresql_psycopg2',
'logodb': 'database.sql',
'USER': 'postgres',
'PASSWORD': '*******',
'HOST': 'localhost',
'PORT': '5432',
Debug mode:
Dok je razvoj web aplikacije u toku treba podesiti debug mod:
DEBUG = True
Dok je razvoj web aplikacije u toku treba podesiti debug mod:
DEBUG = True
Kreiranje Procfile
U okviru glavnog foldera potrebno je kreirati Procfile(tip File) gde se definiše komanda koja pokreće server:
web: gunicorn logo_creator.wsgi --log-file -
Startovanje servera:
Može se startovati kucanjem sledeće komande u command prompt-u:
python manage.py runserver
Ovo će startovati server na localhost-u na portu 8000.
Aplikacija se na lokalu pokreće u browsweru kucanjem adrese: localhost:8000
Aplikacija se na lokalu pokreće u browsweru kucanjem adrese: localhost:8000
Posle startovanja servera , kad pokrenemo aplikaciju videćemo stranicu:
Kreiranje fajl -a requirements.txt
U ovom fajlu treba navesti sve programe(pakete) koje je potrebno instalirati da bi web aplikacija mogla da funkcioniše. To će se automatski uraditi kada se u command prompt-u u folderu projekta otkuca sledeća komanda:
pip freeze > requirements.txt
Kreiranje aplikacije u okviru projekta
U okviru projekta možemo imati više aplikacija. Npr početna aplikacija u okviru projekta logo_creator zove se naslovna. Da bi je kreirali treba otkucati u okviru foldera projekta, a koristeći command prompt:
python manage.py startapp naslovna
Ovo će kreirati novi subfolder u okviru foldera projekta pod imenom naslovna. Struktura kreiranih foldera je sledeća:
naslovna/
__init__.py
admin.py
models.py
tests.py
views.py
naslovna/
__init__.py
admin.py
models.py
tests.py
views.py
Kako dati do znanja projektu da je dodata nova aplikacija
U settings.py treba dodati aplikaciju naslovna pored onih već instaliranih:
INSTALLED_APPS = [
'bootstrap4',
'django.contrib.admin',
'django.contrib.auth',
'django.contrib.contenttypes',
'django.contrib.sessions',
'django.contrib.messages',
'django.contrib.staticfiles',
'naslovna'
]
'django.contrib.admin',
'django.contrib.auth',
'django.contrib.contenttypes',
'django.contrib.sessions',
'django.contrib.messages',
'django.contrib.staticfiles',
'naslovna'
]
Prethodno
|< Kreiranje Python web aplikacije |
Sledeće
Logo Kreator - Kreiranje Naslovne strane >| |