Maison  >  Article  >  développement back-end  >  Premiers pas avec Django : un didacticiel de framework Web Python procédural

Premiers pas avec Django : un didacticiel de framework Web Python procédural

WBOY
WBOYoriginal
2023-06-22 10:06:40817parcourir

Django est un framework Web Python open source hautement évolutif et flexible. Il adopte le modèle de conception « Model-View-Controller (MVC) » pour rendre le développement d'applications Web rapide et efficace. Cet article fournira une introduction détaillée aux connaissances de base de Django, à l'importation et à l'installation de Django, à la création d'une base de données, à la construction de modèles et à la création de vues pour aider les débutants à maîtriser Django.

1. Connaissance de base de Django
Les principaux composants de Django incluent : le planificateur d'URL, le moteur de modèles, les vues et la couche d'accès à la base de données, etc. Django prend en charge plusieurs bases de données et utilise les outils ORM (Object Relational Mapping) pour fournir une représentation d'objets et accéder aux bases de données. Il prend en charge plusieurs serveurs Web en même temps, tels qu'Apache, Nginx, etc. Django fournit également une multitude de fonctions et de composants, tels que le backend de gestion, le traitement des formulaires, l'internationalisation, la sécurité et l'authentification, etc.

2. Importez et installez Django
Avant d'installer Django, vous devez confirmer que Python a été installé avec succès. Il existe deux manières d'installer Django : l'une consiste à utiliser la commande pip (recommandée) et l'autre consiste à télécharger et installer manuellement. Nous présentons ici la méthode d'installation pip.

  1. Créer un environnement virtuel
    Les environnements virtuels peuvent nous aider à gérer différentes bibliothèques dépendantes dans différents projets. Tout d’abord, nous devons installer un module appelé virtualenv. Entrez la commande suivante sur la ligne de commande pour installer (à condition que pip ait été installé).
pip install virtualenv

Ensuite, créez un nouvel environnement virtuel à l'aide de la commande suivante.

virtualenv djangoenv

Dans cet exemple, le nom de l'environnement virtuel est djangoenv.

  1. Installer Django
    Dans l'environnement virtuel, utilisez la commande suivante pour installer Django.
pip install Django

Cette commande téléchargera automatiquement la dernière version et l'installera dans le répertoire site-packages de l'environnement virtuel.

3. Créer une base de données
Django prend en charge plusieurs systèmes de bases de données, tels que MySQL, PostgreSQL, etc. Dans cet article, nous utiliserons la base de données SQLite par défaut. SQLite est déjà installé après l'installation de Python.

  1. Créer un projet
    Utilisez la commande suivante pour créer un nouveau projet Django.
django-admin startproject mysite

Dans cet exemple, le nom du projet est mysite.

  1. Créer une application
    Les applications Django sont composées de modèles, de vues et de modèles. Ici, nous allons créer une application appelée blog.
cd mysite
python manage.py startapp blog

Cette commande créera un répertoire nommé blog dans le répertoire racine du projet.
Remarque : Cette commande doit être exécutée dans le répertoire racine du projet.

  1. Configurer la base de données
    Ouvrez le fichier mysite/settings.py et définissez les BASES DE DONNÉES pour qu'elles ressemblent à ceci :
DATABASES = {
    'default': {
        'ENGINE': 'django.db.backends.sqlite3',
        'NAME': os.path.join(BASE_DIR, 'db.sqlite3'),
    }
}

Ce paramètre définit le type de base de données sur SQLite et nomme le fichier de base de données db.sqlite3. Le paramètre DATABASES prend également en charge d'autres bases de données relationnelles telles que MySQL et PostgreSQL.

  1. Exécuter des migrations
    Django utilise les migrations pour gérer la synchronisation des modèles de données et des bases de données. Exécutez la migration initiale à l’aide de la commande suivante.
python manage.py makemigrations
python manage.py migrate

Cette commande créera un fichier de base de données et créera les tables nécessaires pour gérer le modèle de base de données pour toutes les applications utilisées par Django.

4. Construction du modèle
Le modèle est l'élément clé du mappage des données à la base de données. Pour utiliser le modèle, nous devons définir une classe Python qui sera utilisée pour définir la table dans la base de données. L'ORM de Django prend en charge de nombreux types de bases de données différents, et pour plus de commodité, nous utiliserons la base de données SQLite dans cet article.

  1. Créer un modèle
    Créez une classe Python et définissez ses propriétés. Cette classe servira de modèle de données pour l'application.
from django.db import models

class Blog(models.Model):
    title = models.CharField(max_length=200)
    pub_date = models.DateTimeField('date published')
    body = models.TextField()

    def __str__(self):
        return self.title
  1. Migration de modèle
    Après avoir créé le modèle, nous devons exécuter la commande suivante pour migrer le modèle vers la base de données.
python manage.py makemigrations blog
python manage.py migrate

Cette commande créera une nouvelle table dans la base de données qui contiendra notre modèle de données défini.

5. Création de vue
La vue est la partie où les utilisateurs interagissent avec l'application. Une vue est un ensemble de fonctions qui récupèrent les données du modèle et restituent les résultats au navigateur de l'utilisateur. Dans Django, toutes les vues doivent renvoyer un objet de réponse HTTP. Django fournit également certains types de vues couramment utilisés.

  1. Créer des vues
    Créez les vues suivantes dans le fichier blog/views.py.
from django.shortcuts import render
from django.http import HttpResponse
from .models import Blog

def index(request):
    latest_blog_list = Blog.objects.order_by('-pub_date')[:5]
    context = {'latest_blog_list': latest_blog_list}
    return render(request, 'blog/index.html', context)

def detail(request, blog_id):
    blog = Blog.objects.get(pk=blog_id)
    return render(request, 'blog/detail.html', {'blog': blog})

Deux vues sont définies ici : index et détail. La vue index obtiendra les 5 derniers articles de blog et les affichera un par un dans le modèle HTML. La vue détaillée prendra les détails d'un article de blog et les restituera dans un modèle HTML.

  1. Création de modèles
    Dans la vue que nous avons définie, nous avons utilisé deux modèles HTML : index.html et detail.html. Créez un répertoire nommé « modèles » dans le répertoire racine de l'application de blog et créez un répertoire nommé « blog » sous le répertoire des modèles. Créez deux fichiers HTML nommés "index.html" et "detail.html" dans le répertoire du blog.

index.html

{% if latest_blog_list %}
    <ul>
    {% for blog in latest_blog_list %}
        <li><a href="{% url 'blog:detail' blog.id %}">{{ blog.title }}</a></li>
    {% endfor %}
    </ul>
{% else %}
    <p>No blogs are available.</p>
{% endif %}

detail.html

<h1>{{ blog.title }}</h1>
<p>{{ blog.body }}</p>
<p>Published on {{ blog.pub_date }}</p>
  1. 创建URL
    最后,我们要将视图与URL相关联。在blog应用程序的根目录下创建一个名为“urls.py”的文件,并添加以下内容。
from django.urls import path

from . import views

app_name = 'blog'
urlpatterns = [
    path('', views.index, name='index'),
    path('<int:blog_id>/', views.detail, name='detail'),
]

在这个文件中,我们使用URL配置了两个视图函数:index和detail。路径“283b0284c70ce5b35f6a4cddbe3f14e7/”定义了一个变量blog_id,并将其传递给detail视图函数。

六、启动服务器
现在我们已经定义了我们的Django应用程序,我们可以启动服务器并测试它是否正常工作了。在命令行中输入以下命令。

python manage.py runserver

如果一切正常,您将看到以下输出。

Performing system checks...

System check identified no issues (0 silenced).
September 18, 2021 - 18:13:35
Django version 3.2, using settings 'mysite.settings'
Starting development server at http://127.0.0.1:8000/
Quit the server with CTRL-BREAK.

现在您可以打开浏览器,并输入地址http://127.0.0.1:8000/blog/来访问您的Django网站。

七、总结
本文提供了一个Django入门指南,介绍了Django的基础知识,导入和安装Django,创建数据库,模型构建和视图创建等方面的内容。希望本文能够帮助初学者更好地理解Django,并在他们的Web开发项目中使用它。在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:
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