Maison > développement back-end > Tutoriel Python > Django : un framework full-stack ou un développement backend uniquement ?

Django : un framework full-stack ou un développement backend uniquement ?

PHPz
Libérer: 2024-01-19 08:38:05
original
922 Les gens l'ont consulté

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 :

  1. Développement Front-End

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})
Copier après la connexion
<!-- home.html -->

<!DOCTYPE html>
<html>
<head>
    <title>Home Page</title>
</head>
<body>
    <h1>Welcome, {{ username }}!</h1>
</body>
</html>
Copier après la connexion

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.

  1. Développement backend

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}'
Copier après la connexion
Copier après la connexion
# 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})
Copier après la connexion
<!-- home.html -->

<!DOCTYPE html>
<html>
<head>
    <title>Home Page</title>
</head>
<body>
    <h1>Hello, {{ person }}!</h1>
</body>
</html>
Copier après la connexion

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.

  1. Serveur et API

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']
Copier après la connexion
# 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
Copier après la connexion

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.

  1. Base de données

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}'
Copier après la connexion
Copier après la connexion
# 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})
Copier après la connexion
<!-- 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>
Copier après la connexion

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!

Étiquettes associées:
source:php.cn
Déclaration de ce site Web
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn
Tutoriels populaires
Plus>
Derniers téléchargements
Plus>
effets Web
Code source du site Web
Matériel du site Web
Modèle frontal