Vodič za početnike za Django: Brzo izradite svoju prvu web aplikaciju
Vodič za početnike za Django: Brzo izradite svoju prvu web aplikaciju
Django je napredni Python web okvir, s ciljem brzog razvoja i jednostavnog dizajna. Slijedi arhitekturu model-predložak-pogled (MTV), potiče ponovnu upotrebu koda i modularnost. Ovaj će vas vodič korak po korak voditi kroz stvaranje jednostavne Django aplikacije, omogućujući vam brz početak.
1. Postavljanje okruženja
Prvo, morate osigurati da je Python instaliran na vašem sustavu. Django preporučuje korištenje Pythona 3.6 ili novijeg.
1.1 Instalacija Pythona
Ako Python nije instaliran na vašem sustavu, možete ga preuzeti i instalirati s Python službene web stranice.
1.2 Stvaranje virtualnog okruženja (Virtual Environment)
Kako biste izolirali ovisnosti između različitih projekata, toplo se preporučuje korištenje virtualnog okruženja.
-
Otvorite terminal ili naredbeni redak.
-
Stvorite direktorij projekta, na primjer
myproject:
mkdir myproject cd myproject ```
-
Stvorite i aktivirajte virtualno okruženje:
python3 -m venv venv # Ili python -m venv venv source venv/bin/activate # Linux/macOS venv\Scripts\activate # Windows ```
Nakon aktivacije virtualnog okruženja, vaš terminalski prompt će prikazati `(venv)`, što znači da koristite virtualno okruženje.
1.3 Instalacija Django
U aktiviranom virtualnom okruženju, koristite pip za instalaciju Django:
pip install Django
Provjerite je li instalacija uspjela:
python -m django --version
Trebali biste vidjeti broj verzije Django.
2. Stvaranje Django projekta
Nakon instalacije Django, možete stvoriti novi Django projekt.
-
Još uvijek u vašem projektnom direktoriju (
myproject), pokrenite sljedeću naredbu:
django-admin startproject mysite ```
Ovo će stvoriti direktorij pod nazivom `mysite` u direktoriju `myproject`, koji sadrži kostur datoteka Django projekta.
2. Uđite u direktorij mysite:
```bash
cd mysite ```
-
Struktura direktorija Django projekta je sljedeća:
mysite/ manage.py mysite/ init.py settings.py urls.py asgi.py wsgi.py ```
* `manage.py`: Alat naredbenog retka za upravljanje Django projektom.
* `mysite/`: Python paket koji sadrži konfiguraciju projekta.
* `__init__.py`: Prazna datoteka koja govori Pythonu da se ovaj direktorij treba smatrati Python paketom.
* `settings.py`: Konfiguracijska datoteka projekta, kao što su postavke baze podataka, način rada za otklanjanje pogrešaka itd.
* `urls.py`: Konfiguracija usmjeravanja URL-ova, mapira URL-ove na funkcije pogleda.
* `asgi.py`: Konfiguracijska datoteka ASGI (Asynchronous Server Gateway Interface), za implementaciju asinkronih aplikacija.
* `wsgi.py`: Konfiguracijska datoteka WSGI (Web Server Gateway Interface), za implementaciju tradicionalnih sinkronih aplikacija.## 3. Pokretanje razvojnog poslužitelja
Django dolazi s laganim razvojnim poslužiteljem koji vam olakšava razvoj i testiranje lokalno.
-
U direktoriju
mysitepokrenite sljedeću naredbu:python manage.py runserver -
Otvorite svoj preglednik i posjetite
http://127.0.0.1:8000/. Trebali biste vidjeti stranicu s tekstom "It worked! Congratulations on your first Django-powered page.".
4. Stvaranje Django aplikacije
Jedan Django projekt može sadržavati više aplikacija. Stvorimo aplikaciju pod nazivom myapp.
-
Otvorite novi prozor terminala (ostavite razvojni poslužitelj pokrenut).
-
U direktoriju
mysitepokrenite sljedeću naredbu:python manage.py startapp myappOvo će stvoriti direktorij pod nazivom
myappu direktorijumysite, koji sadrži kostur datoteka za Django aplikaciju. -
Struktura direktorija Django aplikacije je sljedeća:
myapp/ __init__.py admin.py apps.py migrations/ __init__.py models.py tests.py views.py__init__.py: Prazna datoteka koja govori Pythonu da se ovaj direktorij treba smatrati Python paketom.admin.py: Koristi se za konfiguriranje Django administratorskog sučelja.apps.py: Konfiguracija aplikacije.migrations/: Koristi se za upravljanje migracijama baze podataka.models.py: Definira podatkovne modele (tablice baze podataka).tests.py: Pišite testne slučajeve.views.py: Definira funkcije pogleda, obrađuje zahtjeve i vraća odgovore.
-
U
mysite/settings.pydodajtemyappna popisINSTALLED_APPS:INSTALLED_APPS = [ 'django.contrib.admin', 'django.contrib.auth', 'django.contrib.contenttypes', 'django.contrib.sessions', 'django.contrib.messages', 'django.contrib.staticfiles', 'myapp', # Dodajte myapp ]
5. Stvaranje jednostavnog pogleda
Sada ćemo stvoriti jednostavan pogled koji prikazuje "Hello, Django!" u pregledniku.
-
Uredite datoteku
myapp/views.pyi dodajte sljedeći kod:from django.http import HttpResponse def index(request): return HttpResponse("Hello, Django!") -
Stvorite datoteku
myapp/urls.pyi mapirajte URL na funkciju pogleda:from django.urls import path from . import views urlpatterns = [ path('', views.index, name='index'), ] -
Uključite
myapp/urls.pyumysite/urls.py:from django.urls import include, path from django.contrib import admin urlpatterns = [ path('admin/', admin.site.urls), path('myapp/', include('myapp.urls')), # Dodajte URL konfiguraciju za myapp ] -
Posjetite
http://127.0.0.1:8000/myapp/. Trebali biste vidjeti stranicu "Hello, Django!".
6. Stvaranje modela
Napravimo jednostavan model za pohranu podataka.
-
Uredite datoteku
myapp/models.pyi dodajte sljedeći kod: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_textOvo definira model nazvan
Questionkoji sadrži dva polja:question_text(CharField) ipub_date(DateTimeField). -
Stvorite i primijenite migracije baze podataka:
python manage.py makemigrations myapp python manage.py migrateNaredba
makemigrationsstvara datoteku migracije na temelju vašeg modela, a naredbamigrateprimjenjuje migraciju na bazu podataka.
7. Korištenje Django administrativnog sučelja
Django nudi moćno administrativno sučelje za jednostavno upravljanje vašim podacima.
-
Stvorite superkorisnika:
python manage.py createsuperuserSlijedite upute za unos korisničkog imena, e-pošte i lozinke.
-
Uredite datoteku
myapp/admin.pyi registrirajte modelQuestion:from django.contrib import admin from .models import Question admin.site.register(Question) -
Posjetite
http://127.0.0.1:8000/admin/i prijavite se s superkorisnikom kojeg ste stvorili. Trebali biste vidjeti modul "Questions" gdje možete dodavati, uređivati i brisati pitanja.
8. Korištenje predložaka
Korištenje predložaka omogućuje fleksibilnije generiranje HTML stranica.
-
U direktoriju
myappstvorite direktorij pod nazivomtemplates, a zatim u direktorijutemplatesstvorite direktorij pod nazivommyapp(myapp/templates/myapp). -
U direktoriju
myapp/templates/myappstvorite datoteku pod nazivomindex.htmli dodajte sljedeći kod:Hello, Django! The current time is: {{ current_time }} -
Uredite datoteku
myapp/views.pyi koristite predložak:from django.shortcuts import render import datetime def index(request): now = datetime.datetime.now() return render(request, 'myapp/index.html', {'current_time': now})Funkcija
renderučitava predložak i prosljeđuje podatke predlošku za prikaz. -
Ponovno posjetite
http://127.0.0.1:8000/myapp/. Trebali biste vidjeti stranicu koja sadrži trenutno vrijeme.
9. Zaključak
Kroz ovaj vodič naučili ste osnovne koncepte i upotrebu Django-a, uključujući postavljanje okruženja, stvaranje projekata i aplikacija, definiranje modela, stvaranje pogleda i korištenje predložaka. Ovo je samo početak, Django nudi bogate značajke, možete nastaviti učiti i istraživati za izgradnju složenijih web aplikacija.





