Dezvoltați o înțelegere puternică a rolurilor și funcțiilor proiectelor și aplicațiilor în cadrul Django.
În Django, puteți utiliza două componente principale pentru a crea o aplicație web; aplicații și proiecte. Dezvoltatorii folosesc uneori acești termeni în mod interschimbabil, deși au semnificații și funcții distincte în cadrul web Django.
Înțelegerea proiectelor Django
În Django, un proiect este un container de nivel superior pentru aplicația dvs. web. Un proiect conține configurațiile pentru aplicația dvs. web și una sau mai multe aplicații, fiecare oferind un set specific de funcționalități sau caracteristici pentru aplicația dvs. web. De asemenea, conține orice componente partajate între diferitele sale aplicații. Într-un proiect Django, puteți găsi instrumente și utilitare care facilitează gestionarea aplicației dvs. web, cum ar fi utilitarul de linie de comandă Django și serverul de dezvoltare Django.
Componentele unui proiect Django
Un proiect Django conține de obicei diferite aplicații și configurații ale aplicației dvs. web. Ori de câte ori creați un proiect nou, Django generează automat fișiere care conțin aceste configurații. Componentele incluse într-un proiect Django sunt:
- Setări: Modulul de setări conține configurațiile necesare pentru proiectul dvs. și pentru aplicațiile individuale din proiect. Acest modul conține în principal opțiuni de configurare, cum ar fi conexiunea la baza de date, middleware, aplicația instalată, gazdele permise și alte configurații necesare pentru ca aplicația dvs. web să funcționeze.
- URL-uri: Modulul URL-uri definește un model URL pentru aplicația dvs. Fiecare model de adresă URL din proiectul dvs. poate fi mapat la un alt model de adresă URL din aplicația dvs. sau direct la o funcție de vizualizare care gestionează solicitarea pentru adresa URL specifică. Indiferent dacă modelul de adresă URL se mapează la o funcție de vizualizare sau la un alt model de adresă URL din aplicația dvs., scopul final este să îl mapați la o vizualizare care gestionează solicitarea în mod eficient.
- WSGI: Modulul WSGI (Web Server Gateway Interface) este standardul Python pentru servere și aplicații web. Modulul WSGI face posibil ca Django să ruleze pe diverse servere.
- ASGI: Modulul ASGI (Asynchronous Server Gateway Interface) gestionează cererile asincrone, cum ar fi Conexiuni WebSockets. ASGI este un standard pentru serverele web asincrone pentru a comunica cu aplicațiile web Python.
- Alte componente: Uneori, vi se va cere să adăugați propriile componente la proiectul dvs. Django, în funcție de cerințele aplicației dvs. Aceste componente includ fișiere statice, șabloane, fișiere media și comenzi de gestionare personalizate.
Cum se creează un proiect Django
Pentru a crea un proiect Django, ar trebui să utilizați django-admin utilitar de linie de comandă. Vă puteți crea proiectul Django urmând acești pași:
- În interfața de linie de comandă, navigați la directorul în care doriți să vă creați proiectul Django.
- Instalați Django cu managerul de pachete pip.
pip install django
- Tastați următoarea comandă și rulați-o:
django-admin startproject
Comanda de mai sus va crea un director ca acesta:
Veți observa o redundanță în numele directorului de proiect, adică numele proiectului apare de două ori. Dacă doriți să scăpați de acest lucru, puteți adăuga o perioadă în care vă executați startproject comanda astfel:
django-admin startproject .
Acum, structura proiectului dumneavoastră va arăta astfel:
Cu pașii de mai sus, trebuie să fi creat cu succes un proiect Django. The gestionează.py fișierul creat în proiectul dvs. este important pentru interacțiunea cu proiectul dvs. Django.
Înțelegerea unei aplicații Django
Scopul unei aplicații este de a oferi proiectului dvs. Django o funcționalitate specifică. O aplicație vă ajută să vă organizați baza de cod, împărțind funcționalitățile proiectului în componente mai mici.
De exemplu, într-un proiect de blog, vei avea o aplicație dedicată autentificării și autorizării și o alta dedicată postărilor de blog. Puteți crea mai multe aplicații în funcție de nevoile specifice ale proiectului.
Componentele unei aplicații Django
O aplicație Django constă din module legate de proiect, adică de o caracteristică specifică a site-ului dvs. web. Ca și în cazul unui proiect, Django generează automat fișiere utile atunci când creați o aplicație. Fișierele generate de Django includ următoarele:
- vederi.py: Acest fișier va conține toată logica necesară pentru primirea cererilor și trimiterea răspunsurilor. De asemenea, determină ce șablon HTML să fie redat pe baza acțiunilor utilizatorului pe site-ul dvs.
- modele.py: Acest modul stabilește structura de date a aplicației dvs. și determină cum o va stoca baza de date. Utilizează ORM (Object-Relational Mapping) al Django pentru a defini datele. Componenta modelelor definește diferit relațiile de baze de date în Django.
- admin.py: Modulul de administrare definește interfața de administrare a aplicației dvs. Django. Ar trebui să vă înregistrați modelele în fișierul de administrare. Dacă aveți nevoie de funcționalități de administrare suplimentare în afara celor oferite de Django, puteți defini vizualizări personalizate pentru interfața dvs. de administrare în acest modul.
- urls.py: Acest fișier definește modelele URL sau rutele unice pentru o anumită aplicație Django. Uneori, Django nu generează automat acest fișier. Dacă se întâmplă acest lucru, îl puteți crea manual în directorul aplicației.
Django generează alte componente, cum ar fi apps.py și teste.py. Aceste fișiere definesc configurațiile aplicației și, respectiv, vă permit să scrieți teste unitare.
Cum se creează o aplicație Django
Înainte de a crea o aplicație, trebuie să fi creat un proiect. După ce vă creați proiectul, navigați la directorul care conține gestionează.py fișier și rulați următoarea comandă în terminalul dvs.:
python manage.py startproject
Comanda de mai sus va crea o structură de foldere ca aceasta la același nivel de director ca și proiectul dvs.:
Diferența dintre o aplicație și un proiect în Django
Există câteva diferențe distincte între un proiect și o aplicație în Django. Unele dintre ele sunt enumerate mai jos.
Reutilizarea codului
În Django, o aplicație este o componentă reutilizabilă a aplicației dvs. web. Aceasta înseamnă că, dacă aveți o aplicație care se ocupă de autentificarea utilizatorului pentru un proiect, puteți reutiliza aceeași aplicație într-un alt proiect, cu modificări mici sau deloc. Un proiect, pe de altă parte, nu este reutilizabil. Odată ce creați un proiect pentru o anumită aplicație web, nu îl puteți utiliza pentru o altă aplicație.
Domeniul de activitate
Un proiect funcționează la un nivel mai înalt decât o aplicație, deoarece este responsabil pentru configurația și gestionarea generală a site-ului dvs. Pe de altă parte, o aplicație este responsabilă doar pentru o anumită caracteristică sau funcționalitate a site-ului dvs.
Structura folderului
Cea mai evidentă diferență dintre o aplicație și un proiect este structurile lor de foldere. Un proiect include de obicei setări și alte fișiere de configurare responsabile pentru bunăstarea site-ului dvs.
Urmează o aplicație Arhitectura MVT a lui Django. Acesta conține doar fișiere și configurații responsabile pentru bunăstarea unei anumite caracteristici a site-ului dvs.
Proiectul și aplicația dvs. lucrează împreună pentru a crea o aplicație web bună
Deși proiectul și aplicația dvs. au unicitatea lor, acestea sunt utilizate în cele din urmă pentru a vă oferi o experiență perfectă atunci când vă construiți aplicația. Ar trebui să puteți combina atât componentele proiectului, cât și ale aplicației pentru a construi și personaliza aplicația dvs. web. Cu aplicația și proiectul dvs. la loc, puteți începe să vă construiți site-ul web cu Django.