Maison > Article > développement back-end > Django : un framework full-stack ou un développement backend uniquement ?
Django est un framework Web Python populaire qui fournit de nombreuses fonctionnalités puissantes pour rendre le développement d'applications Web plus facile et plus efficace. Cependant, certaines personnes pensent que Django n’est adapté qu’au développement back-end et non au développement full-stack. Cet article examinera si Django est limité au développement backend et fournira quelques exemples de code concrets.
Quant à savoir si Django est adapté au développement full-stack, la réponse est oui, cela dépend de la portée spécifique du développement full-stack que vous comprenez. Si vous pensez que le développement full-stack implique uniquement le développement front-end et back-end, alors Django est là pour vous. Si vous considérez que le développement full-stack inclut également le travail avec des serveurs, des bases de données, des API et d'autres technologies, alors Django peut également faire le travail.
Plus précisément, Django fournit des outils et des bibliothèques puissants qui le rendent idéal pour développer des sites Web et des applications Web. Voici quelques exemples :
Django utilise un moteur de modèle pour restituer le HTML. Les moteurs de modèles vous permettent de mélanger facilement du contenu dynamique avec des interfaces HTML statiques. Django fournit également quelques bibliothèques CSS et JavaScript de base pour rendre votre site Web plus beau et plus dynamique.
Voici un exemple simple montrant comment utiliser le moteur de modèle pour afficher du HTML dans Django :
# views.py from django.shortcuts import render def home(request): username = 'Alice' return render(request, 'home.html', {'username': username})
<!-- home.html --> <!DOCTYPE html> <html> <head> <title>Home Page</title> </head> <body> <h1>Welcome, {{ username }}!</h1> </body> </html>
Dans cet exemple, nous définissons une vue d'accueil qui rendra le modèle home.html. Nous transmettons également un nom d'utilisateur variable au modèle, et le modèle utilise {{ username }} pour restituer la valeur de cette variable.
Django est un framework backend complet qui fournit de nombreux excellents outils et bibliothèques pour gérer les problèmes de développement backend tels que la base de données, la sécurité, la validation de formulaires, etc. Voici un exemple simple montrant comment définir un modèle dans Django et l'enregistrer dans la base de données :
# models.py from django.db import models class Person(models.Model): first_name = models.CharField(max_length=30) last_name = models.CharField(max_length=30) def __str__(self): return f'{self.first_name} {self.last_name}'
# views.py from django.shortcuts import render from .models import Person def home(request): person = Person(first_name='Alice', last_name='Smith') person.save() return render(request, 'home.html', {'person': person})
<!-- home.html --> <!DOCTYPE html> <html> <head> <title>Home Page</title> </head> <body> <h1>Hello, {{ person }}!</h1> </body> </html>
Dans cet exemple, nous définissons un modèle appelé Personne et l'utilisons pour créer un modèle appelé le personnage d'Alice Smith. Nous passons l'objet personne dans la vue qui restitue le modèle home.html et utilisons {{ person }} dans le modèle pour restituer la représentation sous forme de chaîne de cet objet.
Django fournit non seulement les fonctionnalités de base nécessaires à une application Web, mais fournit également les fonctionnalités nécessaires pour gérer les requêtes et les réponses HTTP. Dans Django, vous pouvez facilement créer des services basés sur l'API REST et les gérer à l'aide de l'interface d'administration de Django.
Voici un exemple simple d'API REST :
# serializers.py from rest_framework import serializers from .models import Person class PersonSerializer(serializers.ModelSerializer): class Meta: model = Person fields = ['first_name', 'last_name']
# views.py from rest_framework import generics from .models import Person from .serializers import PersonSerializer class PersonList(generics.ListCreateAPIView): queryset = Person.objects.all() serializer_class = PersonSerializer
Dans cet exemple, nous utilisons Django Rest Framework (DRF) pour créer une API REST simple. Nous définissons un sérialiseur appelé PersonSerializer qui convertit le modèle Person au format JSON. Nous définissons également une vue appelée PersonList qui fournit des requêtes GET et POST et renvoie une représentation JSON du modèle Person.
Django est livré avec un ORM intégré, ce qui le rend parfait pour travailler avec des bases de données. Django ORM vous permet d'exploiter votre base de données en utilisant du code Python au lieu du langage de requête SQL. Voici un exemple simple qui montre comment définir un modèle dans Django et interroger les données de la base de données :
# models.py from django.db import models class Person(models.Model): first_name = models.CharField(max_length=30) last_name = models.CharField(max_length=30) def __str__(self): return f'{self.first_name} {self.last_name}'
# views.py from django.shortcuts import render from .models import Person def home(request): people = Person.objects.all() return render(request, 'home.html', {'people': people})
<!-- home.html --> <!DOCTYPE html> <html> <head> <title>Home Page</title> </head> <body> <h1>People:</h1> <ul> {% for person in people %} <li>{{ person }}</li> {% endfor %} </ul> </body> </html>
Dans cet exemple, nous définissons un modèle appelé Person et l'utilisons pour interroger toutes les personnes de la base de données. Nous répertorions les objets personne dans le modèle home.html et utilisons les balises de modèle {% for person in people %} et {% endfor %} pour parcourir toutes les personnes.
Pour résumer, Django est un framework très puissant et complet qui peut être appliqué au développement full-stack. Que vous souhaitiez développer du front-end, du back-end, des API, un serveur ou une base de données, Django dispose d'outils et de bibliothèques puissants pour répondre à vos besoins.
Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!