Maison > Article > développement back-end > Utiliser Django en Python : de la programmation débutante à la programmation avancée
Avec la popularité du langage Python, le framework Django est devenu un framework de développement web populaire. Les riches fonctions du framework Django et sa capacité à améliorer l'efficacité du développement incitent les développeurs à y affluer. Cet article présentera quelques connaissances d'introduction au framework Django et fournira des compétences de programmation avancées pour aider les débutants à mieux comprendre et maîtriser l'utilisation de Django.
Le framework Django est un framework web open source construit sur le langage Python. Sa philosophie de conception est « basée sur la réalité, simple et pratique », principalement basée sur le modèle de conception MVC (Model-View-Controller), et fournit des fonctions complètes de développement Web, y compris l'interface de base de données, le routage d'URL, le traitement de formulaires et le rendu de modèles. et l'authentification des utilisateurs, etc.
Installation de Django
Avant de commencer à utiliser Django, nous devons d'abord installer Django. Vous pouvez utiliser pip pour installer Django : exécutez simplement la commande pip install Django.
La structure de base de Django
Django est divisée en plusieurs composants, dont le modèle, la vue et le modèle. Ils sont définis comme suit :
Configuration URL pour Django
La configuration URL est la base pour surveiller toutes les requêtes HTTP et les envoyer vers les vues appropriées. Dans Django, vous pouvez configurer les URL dans le fichier urls.py du projet, par exemple :
from django.urls import path from . import views urlpatterns = [ path('', views.index, name='index'), path('about/', views.about, name='about'), ]
Ce qui précède est un exemple simple de configuration d'URL. Il définit deux URL : l'une est la page d'accueil du répertoire racine et l'autre est la page à propos de /about/. Le chemin envoie la requête aux fonctions de vue index() et about() dans le fichier vues.py. Les fonctions de vue sont définies dans la section suivante.
Fonctions d'affichage de Django
Dans Django, les fonctions d'affichage sont des codes qui répondent aux demandes des utilisateurs. Ils construisent des objets HttpResponse en fonction du chemin dans la configuration de l'URL. La forme de la fonction de vue est la suivante :
from django.http import HttpResponse def index(request): return HttpResponse("Hello, World!")
Ce qui précède est un simple exemple de fonction de vue index(). Il répond aux requêtes HTTP et renvoie une chaîne « Hello, World ! »
Les modèles de Django
Les modèles de Django sont des codes utilisés pour définir les styles de pages Web. Ils vous permettent d'intégrer du code Python dans HTML pour créer des pages Web dynamiques. Les fichiers modèles sont stockés dans le répertoire project/app/templates/. Voici un exemple de modèle :
<!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8"> <title>{{ title }}</title> </head> <body> <p>{{ content }}</p> </body> </html>
Dans les modèles, {{ }} est utilisé pour spécifier des blocs de code Python où les variables peuvent être consultées et les conditions et boucles exécutées. Dans l'exemple ci-dessus, les variables de titre et de contenu sont transmises au modèle dans la fonction d'affichage pour générer dynamiquement des titres et des paragraphes.
Le modèle de Django
Le modèle de Django est le code utilisé pour définir l'interaction entre les structures de données et les bases de données. Ils vous permettent de travailler facilement avec les enregistrements de base de données de manière pythonique. Les définitions de modèles sont stockées dans le fichier app/models.py. Voici un exemple de modèle :
from django.db import models class Book(models.Model): title = models.CharField(max_length=200) author = models.CharField(max_length=200) pub_date = models.DateField() def __str__(self): return self.title
Dans l'exemple ci-dessus, nous avons défini un modèle Book qui possède les attributs title, author et pub_date. La fonction __str__() définit la représentation sous forme de chaîne du modèle. Ce modèle utilise la base de données SQLite par défaut de Django pour le stockage, vous pouvez utiliser d'autres bases de données telles que MySQL comme alternative.
Conseils de programmation avancés pour Django
Django prend en charge le traitement des fichiers statiques tels que CSS, JavaScript et images. Ajoutez la ligne suivante dans le fichier settings.py :
STATIC_URL = '/static/' STATICFILES_DIRS = [ os.path.join(BASE_DIR, "static"), '/var/www/static/', ] STATIC_ROOT = '/var/www/static_files/'
Dans /templates/my_template.html vous pouvez inclure cette ligne de code :
{% load static %} <link rel="stylesheet" type="text/css" href="{% static 'my_style.css' %}">
La ligne de code ci-dessus permet de charger le fichier de style my_style.css à partir du statique dossier.
Django fournit un système d'authentification utilisateur qui vous permet de mettre en œuvre facilement un contrôle d'accès basé sur les rôles et de garantir que les utilisateurs sont correctement authentifiés lorsqu'ils accèdent aux pages protégées. Pour utiliser cette fonctionnalité, vous devez d'abord importer les éléments suivants depuis le module Django.contrib.auth :
from django.contrib.auth.decorators import login_required from django.contrib.auth import authenticate, login as auth_login, logout as auth_logout
Ensuite, vous pouvez marquer la vue protégée avec le décorateur @loginrequired et utiliser les fonctions d'authentification, de connexion et de déconnexion pour la connexion et la déconnexion. processus.
Django dispose d'un framework de test qui vous permet d'écrire des cas de test et de garantir que votre application fonctionne correctement en toutes circonstances. Pour écrire des cas de test, créez un fichier tests.py et importez la classe TestCase de Django. Voici un exemple de cas de test :
from django.test import TestCase from django.urls import reverse class MyAppTests(TestCase): def test_index(self): response = self.client.get(reverse('index')) self.assertEqual(response.status_code, 200)
Dans l'exemple ci-dessus, nous avons créé une TestClass appelée MyAppTests et ajouté un cas de test test_index. Nous utilisons l'objet client de Django pour simuler la requête et garantir qu'un code de réponse HTTP 200 est renvoyé.
Résumé
Le framework Django est un framework de développement Web puissant qui fournit un ensemble d'outils complet et facile à utiliser pour le développement rapide d'applications Web. En utilisant les concepts de base et les techniques de programmation avancées fournies dans cet article, vous pouvez facilement créer des applications Web Django et acquérir une compréhension approfondie de l'utilisation de Django.
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!