Maison développement back-end Tutoriel Python Evolution de la version Django : de 1.x à 3.x, découvrez les nouvelles fonctionnalités et améliorations

Evolution de la version Django : de 1.x à 3.x, découvrez les nouvelles fonctionnalités et améliorations

Jan 19, 2024 am 09:46 AM
版本 django 功能改进

Evolution de la version Django : de 1.x à 3.x, découvrez les nouvelles fonctionnalités et améliorations

Django est un framework web écrit en Python Ses principales fonctionnalités sont un développement rapide, une expansion facile, une réutilisabilité élevée, etc. Depuis son premier lancement en 2005, Django est devenu un puissant framework de développement Web.

Au fil du temps, les versions de Django sont constamment mises à jour. Cet article fournira une compréhension approfondie de l'évolution de la version de Django, des changements de 1.x à 3.x, présentera de nouvelles fonctionnalités, améliorations et changements qui nécessitent une attention particulière, et fournira des exemples de code détaillés.

  1. Version Django 1.x

La version Django 1.x est la version initiale de Django, comprenant de la 1.0.1 à la 1.11.29. Dans cette version, Django possède déjà de nombreuses fonctions de base, telles que :

a Utiliser ORM pour les opérations de base de données

ORM est un composant essentiel de Django. Il permet aux développeurs d'utiliser du code Python pour faire fonctionner la base de données sans utiliser directement les instructions SQL. ORM rend les opérations plus faciles et plus intuitives. Un exemple simple :

from django.db import models

class Blog(models.Model):
    name = models.CharField(max_length=100)
    tagline = models.TextField()

class Author(models.Model):
    name = models.CharField(max_length=50)
    email = models.EmailField()

class Entry(models.Model):
    blog = models.ForeignKey(Blog, on_delete=models.CASCADE)
    headline = models.CharField(max_length=255)
    body_text = models.TextField()
    pub_date = models.DateTimeField()
    mod_date = models.DateTimeField()
    authors = models.ManyToManyField(Author)
    n_comments = models.IntegerField()
    n_pingbacks = models.IntegerField()
    rating = models.IntegerField()
Copier après la connexion

Dans l'exemple ci-dessus, nous avons défini trois modèles de données, Blog, Author et Entry, qui héritent tous de models.Model. Les attributs de ces classes correspondent aux champs de la table de la base de données. Par exemple, la classe Blog comporte deux champs : name et tagline, qui sont utilisés pour stocker respectivement le nom et le slogan du blog de type chaîne. Lors de la définition du modèle de données, Django générera automatiquement les tables de base de données correspondantes, les opérations d'ajout, de suppression, de modification et de requête, ainsi que l'API ORM.

b. Gérer automatiquement les URL

Dans la version Django 1.x, nous n'avons besoin que d'écrire la fonction d'affichage pour gérer les requêtes HTTP, et nous n'avons pas besoin de gérer manuellement les URL nous-mêmes. Django mappera automatiquement la requête à la fonction d'affichage correspondante en fonction du routage URL configuré. Par exemple :

from django.conf.urls import url
from . import views

urlpatterns = [
    url(r'^$', views.index, name='index'),
    url(r'^(?P<question_id>[0-9]+)/$', views.detail, name='detail'),
    url(r'^(?P<question_id>[0-9]+)/results/$', views.results, name='results'),
    url(r'^(?P<question_id>[0-9]+)/vote/$', views.vote, name='vote'),
]
Copier après la connexion

Dans l'exemple ci-dessus, nous avons défini quatre routes d'URL, dont la page d'accueil, la page de détails des questions, la page des résultats du vote et la page des fonctions de vote. Pour chaque route URL, nous précisons la fonction de traitement correspondante. Django fera automatiquement correspondre l'URL demandée avec l'itinéraire, réalisant ainsi la fonction de gestion automatique des URL.

c. Système de gestion des arrière-plans d'administration intégré

Le système de gestion des arrière-plans d'administration de Django est une fonction très puissante. Grâce à ce système de gestion d'arrière-plan, nous pouvons facilement ajouter, supprimer, modifier et vérifier la base de données. Le système de gestion d'arrière-plan d'administration de Django 1.x possède déjà de nombreuses fonctions de base, telles que la génération automatique de sites d'administration, la gestion de modèles de données, l'affichage de listes personnalisées, de filtres et de formulaires, etc.

  1. Version Django 2.x

La version Django 2.x comprend de 2.0.0 à 2.2.24, qui apporte des améliorations majeures à Django.

a. Présentation d'ASGI

Dans la version Django 2.x, le protocole ASGI (Asynchronous Server Gateway Interface) a été introduit. ASGI est un protocole conçu pour les serveurs Web asynchrones, qui permet aux développeurs d'écrire des applications Web asynchrones. De cette façon, nous pouvons mieux répondre aux besoins de programmation asynchrone, tels que les websockets, la communication en temps réel, les tâches chronophages, etc.

async def application(scope, receive, send):
    assert scope['type'] == 'http'

    await send({
        'type': 'http.response.start',
        'status': 200,
        'headers': [
            [b'content-type', b'text/plain'],
        ]
    })
    await send({
        'type': 'http.response.body',
        'body': b'Hello, world!',
    })
Copier après la connexion

L'exemple de code ci-dessus utilise ASGI pour écrire une application Web simple. Tout d’abord, définissez une fonction asynchrone d’application, qui accepte trois paramètres : portée, réception et envoi. Ces paramètres sont fixes et convenus par le protocole ASGI. Parmi eux, la portée représente le contexte de la demande, y compris le type de demande, le chemin, la chaîne de requête, etc. ; la réception représente la méthode de réception de la demande, la construction d'un dictionnaire pour représenter l'en-tête de la demande, le code de réponse, l'envoi, etc. ; renvoyer une réponse au client.

b. Compatibilité Python 2.x supprimée

Dans la version Django 2.x, la compatibilité Python 2.x a été supprimée et la version Python 2.x des bibliothèques tierces n'est plus prise en charge. Cela signifie que les développeurs doivent utiliser Python 3.x pour développer des applications Django.

De plus, la version Django 2.x comporte également d'autres améliorations et optimisations, telles que :

  • Ajout de nouveaux codes de statut HTTP et d'exceptions
  • Ajout d'un meilleur mécanisme de sécurité des mots de passe
  • Supporte de meilleurs tests et un nouveau cadre de test ; introduit.
  1. Version Django 3.x

La version Django 3.x est la dernière version actuellement, comprenant de la 3.0.0 à la 3.2.5. Il améliore encore ses fonctionnalités et ses performances sur la base de la version 2.x.

a. Prise en charge des paramètres de chemin

Dans la version Django 3.x, les convertisseurs de chemin, c'est-à-dire la prise en charge des paramètres de chemin, ont été introduits. Cette nouvelle fonctionnalité est très utile pour développer des API RESTful et peut fournir une méthode de correspondance plus flexible pour les URL.

from django.urls import path

def greet(request, name):
    return HttpResponse(f'Hello, {name}!')

urlpatterns = [
    path('greet/<name>/', greet),
    ...
]
Copier après la connexion

Dans l'exemple ci-dessus, nous avons défini un nom de paramètre de chemin. N'importe quelle valeur dans le chemin de la requête peut être renseignée dans le paramètre name et représentée comme telle lors du traitement de la vue.

b. Remplacement d'UnicodeSlugify

Dans la version Django 3.x, UnicodeSlugify n'est plus utilisé pour remplacer son Slugify par défaut. UnicodeSlugify est une bibliothèque tierce qui permet aux développeurs de travailler avec davantage de langues et de jeux de caractères. Au lieu d'UnicodeSlugify, un nouvel algorithme Slugify a été conçu pour Django, plus standardisé, plus localisé, plus complet, plus évolutif et plus sécurisé.

c. Optimiser la requête de base de données

Dans la version Django 3.x, la méthode de requête de base de données est encore optimisée. Par exemple, au démarrage de l'application, Django met en cache les métadonnées de toutes les requêtes de base de données. Cela peut réduire le nombre de recherches dans la structure des tables et améliorer la vitesse de réponse de l'application.

De plus, la version Django 3.x ajoute également de nombreuses autres nouvelles fonctionnalités et améliorations, telles que :

  • De nouveaux middlewares prenant en charge plusieurs bases de données de lecture ; regroupement des requêtes ;
  • Ajout de la prise en charge des e-mails asynchrones et des requêtes HTTP
  • Cet article explique brièvement les changements dans l'évolution de Django 1.x vers Django 3.x ; Ces changements apportent de meilleures performances, une meilleure efficacité de développement et une meilleure facilité d’utilisation. En tant que framework MVC, je pense que Django deviendra de plus en plus parfait.

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!

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

Outils d'IA chauds

Undresser.AI Undress

Undresser.AI Undress

Application basée sur l'IA pour créer des photos de nu réalistes

AI Clothes Remover

AI Clothes Remover

Outil d'IA en ligne pour supprimer les vêtements des photos.

Undress AI Tool

Undress AI Tool

Images de déshabillage gratuites

Clothoff.io

Clothoff.io

Dissolvant de vêtements AI

AI Hentai Generator

AI Hentai Generator

Générez AI Hentai gratuitement.

Article chaud

R.E.P.O. Crystals d'énergie expliqués et ce qu'ils font (cristal jaune)
3 Il y a quelques semaines By 尊渡假赌尊渡假赌尊渡假赌
R.E.P.O. Meilleurs paramètres graphiques
3 Il y a quelques semaines By 尊渡假赌尊渡假赌尊渡假赌
R.E.P.O. Comment réparer l'audio si vous n'entendez personne
3 Il y a quelques semaines By 尊渡假赌尊渡假赌尊渡假赌
Où trouver la courte de la grue à atomide atomique
1 Il y a quelques semaines By DDD

Outils chauds

Bloc-notes++7.3.1

Bloc-notes++7.3.1

Éditeur de code facile à utiliser et gratuit

SublimeText3 version chinoise

SublimeText3 version chinoise

Version chinoise, très simple à utiliser

Envoyer Studio 13.0.1

Envoyer Studio 13.0.1

Puissant environnement de développement intégré PHP

Dreamweaver CS6

Dreamweaver CS6

Outils de développement Web visuel

SublimeText3 version Mac

SublimeText3 version Mac

Logiciel d'édition de code au niveau de Dieu (SublimeText3)

Tutoriel sur la mise à jour de la version curl sous Linux ! Tutoriel sur la mise à jour de la version curl sous Linux ! Mar 07, 2024 am 08:30 AM

Pour mettre à jour la version curl sous Linux, vous pouvez suivre les étapes ci-dessous : Vérifiez la version actuelle de curl : Tout d'abord, vous devez déterminer la version de curl installée dans le système actuel. Ouvrez un terminal et exécutez la commande suivante : curl --version Cette commande affichera les informations sur la version actuelle de curl. Confirmer la version curl disponible : Avant de mettre à jour curl, vous devez confirmer la dernière version disponible. Vous pouvez visiter le site officiel de curl (curl.haxx.se) ou des sources de logiciels associées pour trouver la dernière version de curl. Téléchargez le code source de curl : à l'aide de curl ou d'un navigateur, téléchargez le fichier de code source pour la version curl de votre choix (généralement .tar.gz ou .tar.bz2).

Étapes simples pour mettre à jour la version pip : effectuée en 1 minute Étapes simples pour mettre à jour la version pip : effectuée en 1 minute Jan 27, 2024 am 09:45 AM

Fait en une minute : Comment mettre à jour la version pip, des exemples de code spécifiques sont nécessaires Avec le développement rapide de Python, pip est devenu un outil standard pour la gestion des packages Python. Cependant, au fil du temps, les versions de pip sont constamment mises à jour. Afin de pouvoir utiliser les dernières fonctionnalités et corriger d'éventuelles failles de sécurité, il est très important de mettre à jour la version de pip. Cet article explique comment mettre à jour rapidement pip en une minute et fournit des exemples de code spécifiques. Tout d’abord, nous devons ouvrir une fenêtre de ligne de commande. Dans les systèmes Windows, vous pouvez utiliser

Vérifiez la version du système d'exploitation Kirin et la version du noyau Vérifiez la version du système d'exploitation Kirin et la version du noyau Feb 21, 2024 pm 07:04 PM

Vérification de la version du système d'exploitation Kylin et de la version du noyau Dans le système d'exploitation Kirin, savoir comment vérifier la version du système et la version du noyau est la base de la gestion et de la maintenance du système. Méthode 1 pour vérifier la version du système d'exploitation Kylin : Utilisez le fichier /etc/.kyinfo Pour vérifier la version du système d'exploitation Kylin, vous pouvez vérifier le fichier /etc/.kyinfo. Ce fichier contient des informations sur la version du système d'exploitation. Exécutez la commande suivante : cat/etc/.kyinfo Cette commande affichera des informations détaillées sur la version du système d'exploitation. Méthode 2 : utiliser le fichier /etc/issue Une autre façon de vérifier la version du système d'exploitation consiste à consulter le fichier /etc/issue. Ce fichier fournit également des informations sur la version, mais peut ne pas être aussi bon que le fichier .kyinfo.

Comment vérifier facilement la version installée d'Oracle Comment vérifier facilement la version installée d'Oracle Mar 07, 2024 am 11:27 AM

Comment vérifier facilement la version installée d'Oracle nécessite des exemples de code spécifiques. En tant que logiciel largement utilisé dans les systèmes de gestion de bases de données au niveau de l'entreprise, la base de données Oracle possède de nombreuses versions et différentes méthodes d'installation. Dans notre travail quotidien, nous devons souvent vérifier la version installée de la base de données Oracle pour les opérations et la maintenance correspondantes. Cet article explique comment vérifier facilement la version installée d'Oracle et donne des exemples de code spécifiques. Méthode 1 : Grâce à une requête SQL dans la base de données Oracle, nous pouvons

Interpréter le sens et la différence de la version PHP NTS Interpréter le sens et la différence de la version PHP NTS Mar 27, 2024 am 11:48 AM

La signification et la différence de la version PHP NTS PHP est un langage de script côté serveur populaire largement utilisé dans le domaine du développement Web. Il existe deux versions principales de PHP : ThreadSafe(TS) et Non-ThreadSafe(NTS). Sur le site officiel de PHP, nous pouvons voir deux versions téléchargeables de PHP différentes, à savoir PHPNTS et PHPTS. Alors, que signifie PHP version NTS ? Quelle est la différence avec la version TS ? Suivant,

750 000 rounds de bataille en tête-à-tête entre grands modèles, GPT-4 a remporté le championnat et Llama 3 s'est classé cinquième 750 000 rounds de bataille en tête-à-tête entre grands modèles, GPT-4 a remporté le championnat et Llama 3 s'est classé cinquième Apr 23, 2024 pm 03:28 PM

Concernant Llama3, de nouveaux résultats de tests ont été publiés - la grande communauté d'évaluation de modèles LMSYS a publié une liste de classement des grands modèles, Llama3 s'est classé cinquième et à égalité pour la première place avec GPT-4 dans la catégorie anglaise. Le tableau est différent des autres benchmarks. Cette liste est basée sur des batailles individuelles entre modèles, et les évaluateurs de tout le réseau font leurs propres propositions et scores. Au final, Llama3 s'est classé cinquième sur la liste, suivi de trois versions différentes de GPT-4 et Claude3 Super Cup Opus. Dans la liste simple anglaise, Llama3 a dépassé Claude et est à égalité avec GPT-4. Concernant ce résultat, LeCun, scientifique en chef de Meta, était très heureux et a transmis le tweet et

Comment savoir si l'interface dp est 1.2 ou 1.4 ? Comment savoir si l'interface dp est 1.2 ou 1.4 ? Feb 06, 2024 am 10:27 AM

L'interface DP est un câble d'interface important dans l'ordinateur. Lors de l'utilisation de l'ordinateur, de nombreux utilisateurs veulent savoir comment vérifier si l'interface DP est 1.2 ou 1.4. En fait, il leur suffit de la vérifier dans GPU-Z. Comment déterminer si l'interface dp est 1.2 ou 1.4 : 1. Tout d'abord, sélectionnez "Avancé" dans GPU-Z. 2. Regardez « Monitor1 » dans « General » sous « Advanced », vous pouvez voir les deux éléments « LinkRate (current) » et « Lanes (current) ». 3. Enfin, si 8,1 Gbps × 4 est affiché, cela signifie la version DP1.3 ou supérieure, généralement DP1.4. S'il s'agit de 5,4 Gbps × 4, alors.

Comment installer facilement Python sur Windows, vous pouvez choisir parmi deux méthodes Comment installer facilement Python sur Windows, vous pouvez choisir parmi deux méthodes Feb 18, 2024 pm 04:57 PM

Pourquoi Python est-il si populaire ? La raison est simple : il est facile à apprendre, facile à utiliser et rapide à utiliser, ce qui le rend adapté aux débutants. Quel que soit le projet, tant qu’il implique de la programmation, Python est souvent mon premier choix. De plus, vous n’êtes pas obligé de vous en tenir aux systèmes Linux, Windows peut également bien le prendre en charge. Python est installé sur mon système d'exploitation Windows 11 et je l'utilise souvent pour écrire des programmes et exécuter du code. L'installation de Python sur Windows est très simple et je partagerai ensuite deux méthodes d'installation courantes. Choisissez la version Python appropriée. Python propose plusieurs versions. Il est très important de choisir la version appropriée. Ceci est lié à la compatibilité et aux fonctionnalités du programme : les versions actuelles incluent Python2 et.

See all articles