Maison développement back-end Tutoriel Python Création d'applications Web avec Python et Django : guide de maîtrise du débutant

Création d'applications Web avec Python et Django : guide de maîtrise du débutant

Jun 23, 2023 am 09:34 AM
python django web应用程序

Créer des applications Web avec Python et Django : un guide du débutant à la maîtrise

Avec le développement rapide d'Internet, les applications Web ont attiré de plus en plus d'attention. Le développement d’applications Web nécessite la maîtrise de plusieurs compétences, l’une des compétences clés est de choisir le bon framework web. Le framework Django du langage Python est un excellent choix, et les applications Web développées via Django peuvent être implémentées rapidement, simplement et efficacement.

Dans ce guide, nous expliquerons comment créer des applications Web en utilisant Python et Django du débutant au maître. Le contenu comprend :

  1. Connaissance de base du langage Python
  2. Introduction au framework Django
  3. Méthode de conception de couche de modèle Django
  4. Utilisation de la couche de vue et de la couche modèle Django
  5. Traitement et validation des formulaires Django
  6. Authentification des utilisateurs et gestion des autorisations Django
  7. Développement du framework Django REST

1. Connaissance de base du langage Python

Python est un langage de programmation avancé orienté objet avec une syntaxe concise et claire et des fonctions puissantes. La maîtrise des bases du langage Python est cruciale pour le développement d'applications Web à l'aide du framework Django. Ce qui suit est une brève introduction aux bases du langage Python :

  1. Variables et types de données

Les variables en Python peuvent être déclarées et affectées directement sans. spécifiant le type de données. Les types de données couramment utilisés incluent les nombres, les chaînes, les listes, les tuples, les dictionnaires, etc. Par exemple :

a = 3
b = "hello"
c = [1, 2, 3]
d = (4, 5, 6)
e = {"name": "Tom", "age": 20}
Copier après la connexion
  1. Instructions conditionnelles

Les instructions conditionnelles en Python peuvent être utilisées pour déterminer si une certaine condition est vraie et effectuer les opérations correspondantes. Les instructions conditionnelles couramment utilisées incluent les instructions if et les instructions elif, telles que :

if a > 0:
    print("a is positive")
elif a == 0:
    print("a is zero")
else:
    print("a is negative")
Copier après la connexion
  1. Instructions de boucle

Les instructions de boucle en Python peuvent être utilisées pour effectuer certaines opérations à plusieurs reprises. Les instructions de boucle couramment utilisées incluent les boucles for et while, telles que :

for i in range(1, 6):
    print(i)

i = 1
while i <= 5:
    print(i)
    i += 1
Copier après la connexion
  1. Fonctions et modules

Les fonctions et modules en Python peuvent être utilisés pour encapsuler des opérations complexes et fournir du code réutilisable. Les définitions de fonctions utilisent le mot-clé def et les modules utilisent le mot-clé import. Par exemple :

def add(x, y):
    return x + y

import math
print(math.pi)
Copier après la connexion

2. Introduction au framework Django

Django est un framework d'application Web open source efficace. Il se compose d'un mappeur objet-relationnel basé sur le principe de base de "DRY" (Don't Repeat Yourself), d'un système de visualisation basé sur la structure MTV (Model-Template-View, model-template-view) et d'un système flexible, Système de routage d’URL puissant et facile à utiliser. Django possède les fonctionnalités suivantes :

  1. Livré avec un backend de gestion : Django est livré avec un backend de gestion pratique et facile à utiliser qui peut être utilisé pour gérer diverses tables de données dans des applications Web.
  2. Extensible : Le framework Django a une bonne évolutivité et peut facilement intégrer d'autres modules fonctionnels.
  3. Système de modèles : Django dispose d'un puissant système de modèles intégré qui peut facilement implémenter le traitement des modèles et le rendu des pages dans les applications Web.
  4. Prise en charge des bases de données : Django prend en charge la persistance des données dans plusieurs bases de données (MySQL, SQLite, etc.).
  5. Sécurité : Django fournit une série de fonctionnalités de sécurité, telles que la prévention des injections SQL, des attaques XSS, etc.

3. Méthode de conception de couche de modèle Django

La couche de modèle Django est une description du modèle de données dans une application Web. Elle utilise la technologie de mappage objet-relationnel (ORM) pour implémenter les opérations de base de données. Dans Django, la conception de la couche modèle est l'une des clés du développement d'applications Web. Voici une brève introduction à la méthode de conception de la couche modèle Django :

  1. Création de modèles

Les modèles dans Django sont décrits à l'aide de classes Python, et chaque classe correspond à une table de base de données. Par exemple, la création d'un modèle appelé "Book" pourrait ressembler à ceci :

from django.db import models

class Book(models.Model):
    title = models.CharField(max_length=100)
    author = models.CharField(max_length=50)
    publish_date = models.DateField()
Copier après la connexion
  1. Define Fields

Les définitions de champs de modèle dans Django utilisent la classe Field intégrée de Django et spécifient les paramètres pertinents, tels que :

  • CharField : Champ de type de caractère
  • IntegerField : Champ entier
  • DateField : Champ de date
  • DateTimeField : Champ de date et d'heure
  • BooleanField : Champ booléen

Par exemple, définir un champ de caractère nommé "titre" peut être comme suit :

title = models.CharField(max_length=100)
Copier après la connexion
  1. Définir des relations

Les modèles dans Django prennent en charge différents types de relations, tels que un-à-plusieurs, plusieurs-à-un, plusieurs-à-plusieurs, etc. Par exemple, définir une relation un-à-plusieurs peut être la suivante :

from django.db import models

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

class Book(models.Model):
    title = models.CharField(max_length=100)
    author = models.ForeignKey(Author, on_delete=models.CASCADE)
Copier après la connexion

4. Utilisation de la couche de vue et de la couche modèle de Django

La couche de vue et la couche de modèle de Django sont les éléments essentiels du traitement des données et du rendu des pages dans les applications Web. . La couche d'affichage est chargée de recevoir les demandes, de traiter les données et de transmettre les données à la couche modèle pour le rendu des pages. Ce qui suit est une brève introduction à l'utilisation de la couche de vue et de la couche modèle de Django :

  1. Définition des vues

Les définitions de vue dans Django utilisent les fonctions Python. Le premier paramètre de la fonction est l'objet de requête, qui est utilisé pour recevoir la requête. paramètres. Exemple :

from django.shortcuts import render

def index(request):
    books = Book.objects.all()
    return render(request, 'index.html', {'books': books})
Copier après la connexion
  1. Définir des modèles

Les modèles dans Django utilisent des balises et des filtres personnalisés HTML et Django, prenant en charge le rendu dynamique et la substitution de variables. Par exemple, la définition d'un modèle nommé "index.html" peut être la suivante :

{% for book in books %}
    <p>{{ book.title }} - {{ book.author.name }}</p>
{% endfor %}
Copier après la connexion
  1. Define URL

La définition d'URL dans Django utilise des expressions régulières pour mapper l'adresse URL à la fonction d'affichage correspondante. Par exemple :

from django.urls import path
from . import views

urlpatterns = [
    path('', views.index, name='index'),
]
Copier après la connexion

5. Traitement et validation du formulaire Django

.

Django表单处理和验证是Web应用程序中接收用户输入和数据验证的重要部分。Django提供了一系列表单处理和验证功能,以下是Django表单处理和验证的简要介绍:

  1. 定义表单

Django中的表单定义使用继承自Django内置Form类的Python类,每个类对应一个表单。例如,定义一个名为“LoginForm”的表单可以如下所示:

from django import forms

class LoginForm(forms.Form):
    username = forms.CharField(max_length=100)
    password = forms.CharField(max_length=100, widget=forms.PasswordInput)
Copier après la connexion
  1. 处理表单

Django中的表单处理使用视图函数中的request.POST属性,用于接收表单提交的数据。例:

from django.shortcuts import render, redirect
from .forms import LoginForm

def login(request):
    if request.method == 'POST':
        form = LoginForm(request.POST)
        if form.is_valid():
            # 处理登录
            pass
    else:
        form = LoginForm()
    return render(request, 'login.html', {'form': form})
Copier après la connexion
  1. 表单验证

Django中的表单验证使用form.cleaned_data属性,用于验证表单数据是否合法。若验证失败,会抛出ValidationError异常。例:

def clean_password(self):
    password = self.cleaned_data.get('password')
    if len(password) < 6:
        raise forms.ValidationError('密码长度不能小于6')
    return password
Copier après la connexion

六、Django用户认证和权限管理

Django用户认证和权限管理是Web应用程序中用户登录和授权的核心部分。Django提供了一系列认证和权限管理功能,以下是Django用户认证和权限管理的简要介绍:

  1. 用户认证

Django中的用户认证使用Django内置的auth模块,包括用户注册、登录、退出等操作。例如,用户登录验证可以如下所示:

from django.contrib import auth

def login(request):
    ...
    user = auth.authenticate(username=username, password=password)
    if user is not None and user.is_active:
        auth.login(request, user)
        return redirect('index')
    ...
Copier après la connexion
  1. 权限管理

Django中的权限管理使用Django内置的auth模块,包括用户权限设置、用户组设置等操作。例如,定义一个管理员用户组可以如下所示:

from django.contrib.auth.models import Group, Permission

group = Group(name='admin')
group.save()
permission = Permission.objects.get(codename='can_add_book')
group.permissions.add(permission)
Copier après la connexion

七、Django REST框架开发

Django REST框架是基于Django的RESTful Web服务开发框架,提供了丰富的REST API开发功能。以下是Django REST框架开发的简要介绍:

  1. 安装Django REST框架

使用pip命令安装Django REST框架:

pip install djangorestframework
Copier après la connexion
  1. 定义视图

Django REST框架中的视图使用Django内置的APIView类和ViewSet类。例如,定义一个BookViewSet视图集合可以如下所示:

from rest_framework import viewsets
from .serializers import BookSerializer
from .models import Book

class BookViewSet(viewsets.ModelViewSet):
    queryset = Book.objects.all()
    serializer_class = BookSerializer
Copier après la connexion
  1. 定义序列化器

Django REST框架中的序列化器使用Django内置的Serializer类,用于将模型数据转换为JSON格式。例如,定义一个名为“BookSerializer”的序列化器可以如下所示:

from rest_framework import serializers
from .models import Book

class BookSerializer(serializers.ModelSerializer):
    class Meta:
        model = Book
        fields = '__all__'
Copier après la connexion

通过以上介绍,相信读者对于使用Python和Django构建Web应用程序有了更好的理解和认识。当然,这些内容只是冰山一角,想要深入学习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!

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

Video Face Swap

Video Face Swap

Échangez les visages dans n'importe quelle vidéo sans effort grâce à notre outil d'échange de visage AI entièrement gratuit !

Article chaud

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)

Sujets chauds

Tutoriel Java
1662
14
Tutoriel PHP
1262
29
Tutoriel C#
1235
24
PHP et Python: différents paradigmes expliqués PHP et Python: différents paradigmes expliqués Apr 18, 2025 am 12:26 AM

PHP est principalement la programmation procédurale, mais prend également en charge la programmation orientée objet (POO); Python prend en charge une variété de paradigmes, y compris la POO, la programmation fonctionnelle et procédurale. PHP convient au développement Web, et Python convient à une variété d'applications telles que l'analyse des données et l'apprentissage automatique.

Choisir entre PHP et Python: un guide Choisir entre PHP et Python: un guide Apr 18, 2025 am 12:24 AM

PHP convient au développement Web et au prototypage rapide, et Python convient à la science des données et à l'apprentissage automatique. 1.Php est utilisé pour le développement Web dynamique, avec une syntaxe simple et adapté pour un développement rapide. 2. Python a une syntaxe concise, convient à plusieurs champs et a un écosystème de bibliothèque solide.

PHP et Python: une plongée profonde dans leur histoire PHP et Python: une plongée profonde dans leur histoire Apr 18, 2025 am 12:25 AM

PHP est originaire en 1994 et a été développé par Rasmuslerdorf. Il a été utilisé à l'origine pour suivre les visiteurs du site Web et a progressivement évolué en un langage de script côté serveur et a été largement utilisé dans le développement Web. Python a été développé par Guidovan Rossum à la fin des années 1980 et a été publié pour la première fois en 1991. Il met l'accent sur la lisibilité et la simplicité du code, et convient à l'informatique scientifique, à l'analyse des données et à d'autres domaines.

Python vs JavaScript: la courbe d'apprentissage et la facilité d'utilisation Python vs JavaScript: la courbe d'apprentissage et la facilité d'utilisation Apr 16, 2025 am 12:12 AM

Python convient plus aux débutants, avec une courbe d'apprentissage en douceur et une syntaxe concise; JavaScript convient au développement frontal, avec une courbe d'apprentissage abrupte et une syntaxe flexible. 1. La syntaxe Python est intuitive et adaptée à la science des données et au développement back-end. 2. JavaScript est flexible et largement utilisé dans la programmation frontale et côté serveur.

Comment exécuter le code sublime python Comment exécuter le code sublime python Apr 16, 2025 am 08:48 AM

Pour exécuter le code Python dans le texte sublime, vous devez d'abord installer le plug-in Python, puis créer un fichier .py et écrire le code, et enfin appuyez sur Ctrl B pour exécuter le code, et la sortie sera affichée dans la console.

Où écrire du code dans vscode Où écrire du code dans vscode Apr 15, 2025 pm 09:54 PM

L'écriture de code dans Visual Studio Code (VSCODE) est simple et facile à utiliser. Installez simplement VScode, créez un projet, sélectionnez une langue, créez un fichier, écrivez du code, enregistrez-le et exécutez-le. Les avantages de VSCOD incluent la plate-forme multiplateuse, gratuite et open source, des fonctionnalités puissantes, des extensions riches et des poids légers et rapides.

Le code Visual Studio peut-il être utilisé dans Python Le code Visual Studio peut-il être utilisé dans Python Apr 15, 2025 pm 08:18 PM

VS Code peut être utilisé pour écrire Python et fournit de nombreuses fonctionnalités qui en font un outil idéal pour développer des applications Python. Il permet aux utilisateurs de: installer des extensions Python pour obtenir des fonctions telles que la réalisation du code, la mise en évidence de la syntaxe et le débogage. Utilisez le débogueur pour suivre le code étape par étape, trouver et corriger les erreurs. Intégrez Git pour le contrôle de version. Utilisez des outils de mise en forme de code pour maintenir la cohérence du code. Utilisez l'outil de liaison pour repérer les problèmes potentiels à l'avance.

Comment exécuter Python avec le bloc-notes Comment exécuter Python avec le bloc-notes Apr 16, 2025 pm 07:33 PM

L'exécution du code Python dans le bloc-notes nécessite l'installation du plug-in exécutable Python et du plug-in NPEXEC. Après avoir installé Python et ajouté un chemin à lui, configurez la commande "python" et le paramètre "{current_directory} {file_name}" dans le plug-in nppexec pour exécuter le code python via la touche de raccourci "F6" dans le bloc-notes.

See all articles