Django Уводни Водич: Брзо Направите Вашу Прву Веб Апликацију
Django Уводни Водич: Брзо Направите Вашу Прву Веб Апликацију
Django је напредни Python веб фрејмворк, са циљем брзог развоја и једноставног дизајна. Он прати модел-темплејт-поглед (MTV) архитектуру, подстиче поновну употребу кода и компонентализацију. Овај водич ће вас водити корак по корак кроз креирање једноставне Django апликације, како бисте брзо почели.
1. Подешавање Окружења
Прво, морате да се уверите да је Python инсталиран на вашем систему. Django препоручује коришћење Python 3.6 или новије верзије.
1.1 Инсталирање Python-а
Ако ваш систем нема инсталиран Python, можете га преузети и инсталирати са Python званичног сајта.
1.2 Креирање Виртуелног Окружења (Virtual Environment)
Да бисте изоловали зависности између различитих пројеката, топло се препоручује коришћење виртуелног окружења.
-
Отворите терминал или командну линију.
-
Креирајте директоријум пројекта, на пример
myproject:mkdir myproject cd myproject -
Креирајте и активирајте виртуелно окружење:
python3 -m venv venv # Или python -m venv venv source venv/bin/activate # Linux/macOS venv\Scripts\activate # WindowsНакон активирања виртуелног окружења, ваш терминални промпт ће приказати
(venv), што значи да користите виртуелно окружење.
1.3 Инсталирање Django-а
У активном виртуелном окружењу, користите pip за инсталирање Django-а:
pip install Django
Проверите да ли је инсталација била успешна:
python -m django --version
Требало би да видите број верзије Django-а.
2. Креирање Django Пројекта
Након инсталирања Django-а, можете креирати нови Django пројекат.
-
И даље у вашем директоријуму пројекта (
myproject), покрените следећу команду:django-admin startproject mysiteОво ће креирати директоријум под називом
mysiteу директоријумуmyproject, који садржи скелетне датотеке Django пројекта. -
Уђите у
mysiteдиректоријум:cd mysite -
Структура директоријума Django пројекта је следећа:
mysite/ manage.py mysite/ __init__.py settings.py urls.py asgi.py wsgi.pymanage.py: Алат командне линије за управљање Django пројектом.mysite/: Python пакет који садржи конфигурацију пројекта.__init__.py: Празна датотека која говори Python-у да овај директоријум треба да се третира као Python пакет.settings.py: Конфигурациона датотека пројекта, на пример подешавања базе података, режим отклањања грешака итд.urls.py: Конфигурација URL рутирања, мапира URL-ове на функције погледа.asgi.py: ASGI (Asynchronous Server Gateway Interface) конфигурациона датотека, за распоређивање асинхроних апликација.wsgi.py: WSGI (Web Server Gateway Interface) конфигурациона датотека, за распоређивање традиционалних синхроних апликација.
3. Pokretanje razvojnog servera
Django dolazi sa laganim razvojnim serverom, koji vam olakšava lokalni razvoj i testiranje.
-
U direktorijumu
mysite, pokrenite sledeću komandu:python manage.py runserver -
Otvorite vaš pretraživač i posetite
http://127.0.0.1:8000/. Trebalo bi da vidite stranicu sa tekstom "It worked! Congratulations on your first Django-powered page.".
4. Kreiranje Django aplikacije
Jedan Django projekat može da sadrži više aplikacija. Hajde da kreiramo aplikaciju pod nazivom myapp.
-
Otvorite novi terminalski prozor (ostavite razvojni server da radi).
-
U direktorijumu
mysite, pokrenite sledeću komandu:python manage.py startapp myappOvo će kreirati direktorijum pod nazivom
myappu direktorijumumysite, koji sadrži kostur fajlova Django aplikacije. -
Struktura direktorijuma Django aplikacije je sledeća:
myapp/ __init__.py admin.py apps.py migrations/ __init__.py models.py tests.py views.py__init__.py: Prazan fajl koji govori Python-u da ovaj direktorijum treba da se tretira kao Python paket.admin.py: Koristi se za konfigurisanje Django administratorskog panela.apps.py: Konfiguracija aplikacije.migrations/: Koristi se za upravljanje migracijama baze podataka.models.py: Definiše modele podataka (tabele baze podataka).tests.py: Pišite test primere.views.py: Definiše funkcije pogleda, obrađuje zahteve i vraća odgovore.
-
U
mysite/settings.py, dodajtemyappuINSTALLED_APPSlistu:INSTALLED_APPS = [ 'django.contrib.admin', 'django.contrib.auth', 'django.contrib.contenttypes', 'django.contrib.sessions', 'django.contrib.messages', 'django.contrib.staticfiles', 'myapp', # Dodajte myapp ]
5. Kreiranje jednostavnog prikaza
Sada ćemo kreirati jednostavan prikaz koji prikazuje "Hello, Django!" u pretraživaču.
-
Uredite
myapp/views.pyfajl i dodajte sledeći kod:from django.http import HttpResponse def index(request): return HttpResponse("Hello, Django!") -
Kreirajte
myapp/urls.pyfajl i mapirajte URL na funkciju prikaza:
from django.urls import path
from . import views
urlpatterns = [
path('', views.index, name='index'),
]
```
3. Укључите `myapp/urls.py` у `mysite/urls.py`:
```python
from django.urls import include, path
from django.contrib import admin
urlpatterns = [
path('admin/', admin.site.urls),
path('myapp/', include('myapp.urls')), # Додајте URL конфигурацију за myapp
]
```
4. Посетите `http://127.0.0.1:8000/myapp/`. Требало би да видите страницу са текстом "Hello, Django!".
## 6. Креирање модела
Хајде да креирамо једноставан модел за складиштење неких података.
1. Измените `myapp/models.py` фајл и додајте следећи код:
```python
from django.db import models
class Question(models.Model):
question_text = models.CharField(max_length=200)
pub_date = models.DateTimeField('date published')
def __str__(self):
return self.question_text
```
Ово дефинише модел под називом `Question`, који садржи два поља: `question_text` (CharField) и `pub_date` (DateTimeField).
2. Креирајте и примените миграције базе података:
```bash
python manage.py makemigrations myapp
python manage.py migrate
```
`makemigrations` команда ће креирати фајлове миграције на основу вашег модела, а `migrate` команда ће применити миграције на базу података.
## 7. Коришћење Django административног интерфејса
Django нуди моћан административни интерфејс који олакшава управљање вашим подацима.
1. Креирајте супер корисника:
```bash
python manage.py createsuperuser
```
Пратите упутства да унесете корисничко име, е-пошту и лозинку.
2. Измените `myapp/admin.py` фајл и региструјте `Question` модел:
```python
from django.contrib import admin
from .models import Question
admin.site.register(Question)
```
3. Посетите `http://127.0.0.1:8000/admin/`, и пријавите се са супер корисником којег сте креирали. Требало би да видите модул "Questions", где можете да додајете, уређујете и бришете питања.
## 8. Коришћење шаблона
Коришћење шаблона омогућава флексибилније генерисање HTML страница.
1. У директоријуму `myapp` креирајте директоријум под називом `templates`, а затим у директоријуму `templates` креирајте директоријум под називом `myapp` ( `myapp/templates/myapp` ).
2. У директоријуму `myapp/templates/myapp` креирајте датотеку под називом `index.html` и додајте следећи код:
```html
Hello, Django!
The current time is: {{ current_time }}
```
3. Уредите датотеку `myapp/views.py` и користите шаблон:
```python
from django.shortcuts import render
import datetime
def index(request):
now = datetime.datetime.now()
return render(request, 'myapp/index.html', {'current_time': now})
```
`render` функција учитава шаблон и прослеђује податке шаблону за рендеровање.
4. Поново посетите `http://127.0.0.1:8000/myapp/`. Требало би да видите страницу која садржи тренутно време.
## 9. Закључак
Кроз овај водич, научили сте основне концепте и методе коришћења Django-а, укључујући подешавање окружења, креирање пројеката и апликација, дефинисање модела, креирање приказа и коришћење шаблона. Ово је само почетак, Django нуди богате функционалности, можете наставити да учите и истражујете, градећи сложеније веб апликације.





