# Ghid de introducere în Django: Construiește rapid primul tău site
Django este un cadru de dezvoltare web Python eficient și puternic, potrivit pentru construirea de aplicații și site-uri web complexe. Acest cadru integrează multe funcții utile, permițând dezvoltatorilor să construiască rapid aplicații robuste. Indiferent dacă ești începător sau ai o anumită experiență, Django îți poate oferi multe avantaje. În acest articol, te vom învăța, pas cu pas, cum să folosești Django pentru a-ți construi primul site.
## 1. Pregătirea mediului
Înainte de a începe, asigură-te că mediul tău de dezvoltare are instalate Python și pip (instrumentul de gestionare a pachetelor Python). Django necesită Python 3.6 sau o versiune ulterioară.
### Instalarea Python și pip
Poți descărca și instala versiunea potrivită pentru sistemul tău de operare de pe [site-ul oficial Python](https://www.python.org/downloads/). După instalare, verifică versiunile Python și pip din linia de comandă:
```bash
python --version
pip --version
```
### Instalarea Django
Instalarea Django prin pip este foarte simplă. Introdu următoarea comandă în linia de comandă:
```bash
pip install django
```
După finalizarea instalării, asigură-te că poți găsi versiunea Django în linia de comandă:
```bash
django-admin --version
```
## 2. Crearea unui proiect Django
După ce ai instalat Django, putem începe să creăm un nou proiect. Proiectul este structura de bază a Django, care conține aplicațiile și configurațiile tale.
### Crearea proiectului
În directorul în care dorești să creezi proiectul, rulează următoarea comandă:
```bash
django-admin startproject myproject
```
Aceasta va crea un nou director numit `myproject`, care va conține câteva fișiere și o structură de directoare implicite.
### Structura directorului
Vei vedea următoarea structură a directorului:
```
myproject/
manage.py
myproject/
__init__.py
settings.py
urls.py
asgi.py
wsgi.py
```
- `manage.py`: Instrumentul de gestionare Django, folosit pentru a gestiona proiectul.
- `settings.py`: Fișierul de configurare al proiectului, unde poți configura baza de date, fișierele statice etc.
- `urls.py`: Configurarea rutelor URL ale proiectului.
- `asgi.py` și `wsgi.py`: Configurarea interfețelor pentru desfășurare.
## 3. Rularea serverului de dezvoltare
În directorul proiectului, folosește următoarea comandă pentru a porni serverul de dezvoltare Django:
```bash
python manage.py runserver
```
Dacă totul este în regulă, ar trebui să poți accesa pagina de bun venit Django în browser la [http://127.0.0.1:8000/](http://127.0.0.1:8000/).
## 4. Crearea primei aplicații
Un proiect Django poate fi format din mai multe aplicații. Fiecare aplicație este responsabilă pentru modulele de funcționalitate specifice.
### Crearea aplicației
În directorul `myproject`, rulează următoarea comandă pentru a crea o aplicație numită `myapp`:
```bash
python manage.py startapp myapp
```
Aceasta va crea un nou director `myapp` în directorul tău de proiect, cu o structură similară cu:
```
myapp/
migrations/
__init__.py
admin.py
apps.py
models.py
tests.py
views.py
```
### Modificarea settings.py
În `settings.py`, înregistrează aplicația ta. Găsește lista `INSTALLED_APPS` și adaugă `'myapp',`:
```python
INSTALLED_APPS = [
...
'myapp',
]
```
## 5. Crearea vederilor și a șabloanelor
Django folosește modelul MVC, vederile și șabloanele se completează reciproc.
### Crearea vederii
În `myapp/views.py`, definește o vedere simplă:
```python
from django.http import HttpResponse
def home(request):
return HttpResponse("Hello, Django!")
```
### Configurarea URL-urilor
În directorul `myapp`, creează un fișier numit `urls.py` și setează rutele URL:
```python
from django.urls import path
from . import views
urlpatterns = [
path('', views.home, name='home'),
]
```
Apoi, în `urls.py` al proiectului, importă URL-urile din `myapp`:
```python
from django.contrib import admin
from django.urls import include, path
urlpatterns = [
path('admin/', admin.site.urls),
path('', include('myapp.urls')),
]
```
## 6. Accesarea paginii tale
Acum, poți reporni serverul de dezvoltare și accesa [http://127.0.0.1:8000/](http://127.0.0.1:8000/). Ar trebui să vezi mesajul „Hello, Django!”.
## 7. Adăugarea suportului pentru baza de date
Django folosește implicit baza de date SQLite, dar suportă și alte baze de date, cum ar fi MySQL, PostgreSQL etc. Iată cum să configurezi SQLite.
### Setările bazei de date
În `settings.py`, găsește secțiunea `DATABASES`, configurația implicită arată astfel:
```python
DATABASES = {
'default': {
'ENGINE': 'django.db.backends.sqlite3',
'NAME': BASE_DIR / "db.sqlite3",
}
}
```
Poți modifica după cum este necesar pentru alte baze de date. De exemplu, folosind PostgreSQL:
```python
DATABASES = {
'default': {
'ENGINE': 'django.db.backends.postgresql',
'NAME': 'yourdbname',
'USER': 'yourusername',
'PASSWORD': 'yourpassword',
'HOST': 'localhost',
'PORT': '5432',
}
}
```
Asigură-te că ai instalat driverul corespunzător pentru baza de date, de exemplu, pentru PostgreSQL, trebuie să instalezi `psycopg2`.
```bash
pip install psycopg2
```
## 8. Crearea modelului și migrarea bazei de date
Următorul pas este să definim un model simplu și să-l migrăm în baza de date.
### Crearea modelului
În `myapp/models.py`, adaugă următorul cod pentru a defini un model simplu:
Generare migrație
Rulați următoarea comandă pentru a genera fișierele de migrație a bazei de date:
python manage.py makemigrations
Apoi, aplicați aceste migrații:
python manage.py migrate
9. Crearea interfeței de administrare
Django vine cu o interfață de administrare puternică, care facilitează gestionarea datelor.
Crearea unui superutilizator
Utilizați următoarea comandă pentru a crea un cont de administrator:
python manage.py createsuperuser
Adăugarea modelului în interfața de administrare
În myapp/admin.py, înregistrați modelul dvs:
from django.contrib import admin
from .models import Item
admin.site.register(Item)
Acum rulați din nou serverul de dezvoltare, accesați http://127.0.0.1:8000/admin, conectați-vă cu superutilizatorul creat și veți putea vedea modelul înregistrat.
Concluzie
Django este un cadru puternic pentru dezvoltarea web, care te poate ajuta să construiești rapid aplicații web. Prin metodele descrise în acest articol, poți construi cu ușurință un site simplu Django și să-i extinzi funcționalitățile. Pe măsură ce înțelegi mai bine Django, poți explora caracteristici mai avansate, cum ar fi autentificarea utilizatorilor, API-uri RESTful, teste etc. Sper că acest ghid introductiv te va ajuta să faci primii pași și să începi călătoria ta cu Django!