Construirea unei aplicații web Python cu Django
Django este un cadru web Python de nivel înalt care încurajează dezvoltarea rapidă și designul curat și pragmatic. Se ocupă de mare parte din problemele dezvoltării web, permițând dezvoltatorilor să se concentreze pe scrierea aplicației în loc să reinventeze roata. Acest articol vă va ghida prin construirea unei aplicații web simple folosind Django.
Noțiuni introductive cu Django
Înainte de a începe să construiți o aplicație web Django, trebuie să instalați Django. Puteți instala Django folosind pip, programul de instalare a pachetelor Python:
pip install django
Odată ce Django este instalat, puteți crea un nou proiect Django rulând următoarea comandă în terminalul sau promptul de comandă:
django-admin startproject myproject
Această comandă creează un nou director numit myproject
cu fișierele necesare pentru a începe. Navigați la acest director:
cd myproject
Crearea unei aplicații Django
În cadrul proiectului dvs. Django, puteți crea aplicații individuale care se ocupă de funcționalități specifice. De exemplu, este posibil să aveți o aplicație pentru autentificarea utilizatorilor, o alta pentru postările de blog etc. Pentru a crea o aplicație, rulați următoarea comandă:
python manage.py startapp myapp
Acest lucru creează un director nou numit myapp
care conține fișiere precum models.py
, views.py
și tests.py
, printre altele. Vă veți defini modelele, vizualizările și șabloanele în cadrul acestei aplicații.
Definirea modelelor
Modelele Django definesc structura datelor dvs. și sunt reprezentate ca clase Python. Le definiți în fișierul models.py
din aplicația dvs.:
from django.db import models
class BlogPost(models.Model):
title = models.CharField(max_length=200)
content = models.TextField()
created_at = models.DateTimeField(auto_now_add=True)
def __str__(self):
return self.title
Odată ce ați definit modelele, trebuie să creați tabele de baze de date pentru acestea. Rulați următoarele comenzi pentru a aplica migrațiile:
python manage.py makemigrations
python manage.py migrate
Crearea de vizualizări și șabloane
Vizualizările Django gestionează logica aplicației dvs. și interacționează cu modelele pentru a reda datele în șabloane. O vizualizare simplă poate fi creată în fișierul views.py
:
from django.shortcuts import render
from .models import BlogPost
def home(request):
posts = BlogPost.objects.all()
return render(request, 'home.html', {'posts': posts})
Codul de mai sus preia toate postările de blog din baza de date și le transmite unui șablon numit home.html
. Șablonul home.html
este stocat într-un director numit templates
din aplicația dvs.:
<!DOCTYPE html>
<html>
<head>
<title>Blog Home</title>
</head>
<body>
<h1>Blog Posts</h1>
<ul>
{% for post in posts %}
<li>{{ post.title }} - {{ post.created_at }}</li>
{% endfor %}
</ul>
</body>
</html>
Configurarea adreselor URL
Pentru a conecta vizualizările la adrese URL, trebuie să definiți modele de adrese URL. Creați un fișier numit urls.py
în directorul aplicației dvs. și adăugați următorul cod:
from django.urls import path
from . import views
urlpatterns = [
path('', views.home, name='home'),
]
Apoi, includeți modelele de adrese URL ale acestei aplicații în fișierul principal al proiectului urls.py
:
from django.contrib import admin
from django.urls import path, include
urlpatterns = [
path('admin/', admin.site.urls),
path('', include('myapp.urls')),
]
Rularea serverului de dezvoltare
După ce v-ați configurat modelele, vizualizările, șabloanele și adresele URL, puteți rula serverul de dezvoltare Django pentru a vedea aplicația dvs. web în acțiune:
python manage.py runserver
Deschideți un browser web și navigați la http://127.0.0.1:8000/
pentru a vedea aplicația dvs. web Django rulând.
Concluzie
Django simplifică construirea de aplicații web puternice și robuste cu Python. Acest ghid a acoperit elementele de bază ale instalării unui proiect Django, crearea unei aplicații, definirea modelelor, crearea de vizualizări și șabloane, configurarea adreselor URL și rularea serverului de dezvoltare. Cu Django, puteți construi aplicații web scalabile și care pot fi întreținute cu ușurință.