Maison > développement back-end > Tutoriel Python > Utiliser Django en Python : de la programmation débutante à la programmation avancée

Utiliser Django en Python : de la programmation débutante à la programmation avancée

WBOY
Libérer: 2023-06-22 14:51:07
original
2208 Les gens l'ont consulté

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 :

  1. Modèle : utilisé pour définir l'interaction entre les structures de données et les bases de données.
  2. Affichage : traitez les demandes des utilisateurs, construisez des objets HttpResponse et complétez la réponse en rendant des modèles.
  3. Modèle : utilisé pour définir la forme d'affichage des pages web.

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

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

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

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

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

  1. Traitement des fichiers statiques

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

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' %}">
Copier après la connexion

La ligne de code ci-dessus permet de charger le fichier de style my_style.css à partir du statique dossier.

  1. Authentification utilisateur

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

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.

  1. Testing

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)
Copier après la connexion

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!

É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