Maison  >  Article  >  développement back-end  >  Premiers pas avec le framework Python Flask

Premiers pas avec le framework Python Flask

WBOY
WBOYoriginal
2023-06-17 08:48:172048parcourir

Démarrez avec le framework Python Flask

Flask est un framework Web Python simple et facile à utiliser qui accorde plus d'attention à la flexibilité et à la légèreté, permettant aux programmeurs de construire selon leurs propres préférences. Cet article vous présentera les concepts de base, l'installation et l'utilisation de Flask, et utilisera un exemple simple pour montrer comment utiliser Flask pour créer une application Web.

  1. Qu'est-ce que Flask ?

Flask est un framework d'application Web léger basé sur Python. Il ne nécessite l'utilisation d'aucun outil ou bibliothèque spécial et s'appuie uniquement sur Python lui-même pour terminer la construction et le déploiement. Dans le même temps, Flask fournit également un ensemble flexible d'outils pour créer facilement des applications Web qui répondent à vos besoins. Par conséquent, Flask est largement utilisé dans le développement d’applications Web de petite et moyenne taille.

  1. Installer Flask

Avant de commencer à utiliser Flask, nous devons d'abord installer Flask. Ouvrez d'abord le terminal et entrez la commande suivante :

pip install flask

Cette commande téléchargera et installera automatiquement Flask à partir du référentiel de logiciels Python. Après quelques minutes d'attente, Flask sera installé. Vous pouvez saisir la commande suivante pour vérifier si Flask a été installé avec succès :

import flask

Si aucune erreur n'est signalée, cela signifie que Flask a été installé avec succès.

  1. Concepts de base de Flask

Lors du développement d'une application Flask, vous devez comprendre quelques concepts de base :

  • Objet Application : Le point d'entrée de l'application Flask, responsable du démarrage du service HTTP de réponse.
  • Routage : définissez la relation de mappage entre les chemins d'URL et les fonctions de traitement.
  • Fonction View : Il s'agit d'une fonction de l'application Flask qui gère les requêtes.
  • Contexte de la demande : Flask fournit un contexte pour chaque demande afin que la demande puisse facilement accéder aux informations pertinentes liées à la demande.
  • Contexte d'application : Flask fournit un contexte pour chaque application. Ce contexte enregistrera les variables globales de l'application et certaines informations de configuration tout au long du cycle de vie de l'application.
  1. Exemple d'application Web Python Flask

Maintenant, créons une application Web Flask simple :

from flask import Flask

app = Flask(__name__)

@app.route('/')
def hello_world():
    return 'Hello, World!'

if __name__ == '__main__':
    app.run()

Dans le code ci-dessus, nous avons d'abord importé le module Flask et créé un objet Flask. Ensuite, utilisez le décorateur app.route() pour définir une route qui doit correspondre à l'URL '/'. Définissez une autre fonction de vue hello_world() pour traiter la requête, et enfin utilisez la méthode app.run() pour démarrer l'application. app.route()装饰器定义了一个路由,该路由需要匹配的URL为'/'。再定义一个hello_world()视图函数,用于处理请求,最后使用app.run()方法启动应用程序。

在运行该脚本后,会在本地创建一个Web服务器,可以在浏览器中输入http://localhost:5000/来查看结果。显示出来的结果应该是Hello, World!

  1. Flask中的路由

Flask中的路由使用app.route()装饰器来定义。app.route()装饰器中的参数为路由URL,可以使用字符串或者正则表达式来定义。下面举个例子,来说明不同路由URL的定义方法:

@app.route('/')
def index():
    return 'Index Page'

@app.route('/hello')
def hello():
    return 'Hello, World!'

@app.route('/user/<username>')
def show_user_profile(username):
    return f'User {username}'

@app.route('/post/<int:post_id>')
def show_post(post_id):
    return f'Post {post_id}'

在上述代码中,我们定义了四个不同的路由。'/''/hello'分别定义了两个固定URL,它们分别返回了Index PageHello, World!'/user/d6025a37ea8687b5422f951f7288bdc5''/post/9db0aba988f93e6a98ca22aea208c49f'则是带有变量值的动态路由,可以匹配到不同的URL,用于显示不同的内容。

  1. Flask中的模板

在许多Web应用程序中,需要根据用户请求的不同来动态展示不同的内容,这时就需要使用Flask中的模板。在Flask中,默认使用的是Jinja2模板引擎。

Flask中的模板需要放在应用程序的templates目录下。下面,我们来看一个简单的模板使用示例:

from flask import Flask, render_template

app = Flask(__name__)

@app.route('/hello/<name>')
def hello(name=None):
    return render_template('hello.html', name=name)

if __name__ == '__main__':
    app.run()

在上述代码中,我们使用了render_template()函数来调用模板。模板文件的名称为hello.html,它需要渲染一个变量name。我们使用render_template()函数的第二个参数,将变量值传递给模板。在模板文件中,通过使用{{ }}语法来输出变量值。

  1. Flask中的静态文件

在Flask中,静态文件通常指的是JavaScript、CSS和图像等文件。这些静态文件一般不需要动态处理,因此也不需要经常更新。Flask中的静态文件需要放置在应用程序的static目录下。

下面是一个简单的示例:

from flask import Flask, render_template

app = Flask(__name__)

@app.route('/hello')
def hello():
    return render_template('hello.html')

if __name__ == '__main__':
    app.run()

在上述示例中,我们使用url_for()函数来加载静态文件。在模板文件中,使用url_for()函数时需要按照如下方式来调用:

{{ url_for('static', filename='style.css') }}

其中,'static'表示静态文件目录名称,'filename'为静态文件的名称。在实际环境中,应该将'style.css'

Après avoir exécuté ce script, un serveur Web sera créé localement. Vous pouvez saisir http://localhost:5000/ dans le navigateur pour afficher les résultats. Le résultat affiché devrait être Hello, World !. 🎜
    🎜Routes in Flask🎜🎜🎜Les routes in Flask sont définies à l'aide du décorateur app.route(). Le paramètre dans le décorateur app.route() est l'URL de la route, qui peut être définie à l'aide d'une chaîne ou d'une expression régulière. Voici un exemple pour illustrer comment définir différentes URL de route : 🎜rrreee🎜Dans le code ci-dessus, nous avons défini quatre routes différentes. '/' et '/hello' définissent respectivement deux URL fixes, qui renvoient respectivement Page d'index et Hello, World !. <code>'/user/d6025a37ea8687b5422f951f7288bdc5' et '/post/9db0aba988f93e6a98ca22aea208c49f' sont des routes dynamiques avec des valeurs variables qui peuvent correspondre à différentes URL, utilisées pour afficher un contenu différent. 🎜
      🎜Modèles dans Flask🎜🎜🎜Dans de nombreuses applications Web, différents contenus doivent être affichés dynamiquement en fonction des différentes demandes des utilisateurs. Dans ce cas, des modèles dans Flask doivent être utilisés. Dans Flask, le moteur de modèles Jinja2 est utilisé par défaut. 🎜🎜Les modèles dans Flask doivent être placés dans le répertoire templates de l'application. Examinons ensuite un exemple simple d'utilisation d'un modèle : 🎜rrreee🎜Dans le code ci-dessus, nous utilisons la fonction render_template() pour appeler le modèle. Le nom du fichier modèle est hello.html, qui doit restituer une variable name. Nous utilisons le deuxième paramètre de la fonction render_template() pour transmettre la valeur de la variable au modèle. Dans le fichier modèle, affichez les valeurs des variables en utilisant la syntaxe {{ }}. 🎜
        🎜Fichiers statiques dans Flask🎜🎜🎜Dans Flask, les fichiers statiques font généralement référence à des fichiers tels que JavaScript, CSS et des images. Ces fichiers statiques ne nécessitent généralement pas de traitement dynamique et n'ont donc pas besoin d'être mis à jour fréquemment. Les fichiers statiques de Flask doivent être placés dans le répertoire static de l'application. 🎜🎜Voici un exemple simple : 🎜rrreee🎜Dans l'exemple ci-dessus, nous utilisons la fonction url_for() pour charger des fichiers statiques. Dans le fichier modèle, lorsque vous utilisez la fonction url_for(), vous devez l'appeler comme suit : 🎜rrreee🎜 Parmi eux, 'static' représente le nom du fichier statique répertoire de fichiers, 'filename' est le nom du fichier statique. Dans l'environnement actuel, 'style.css' doit être remplacé par le nom du fichier statique dont nous avons besoin. 🎜

        À ce stade, nous avons découvert les concepts de base, l'installation, le routage, les modèles et les fichiers statiques du framework Python Flask. J'espère que grâce à l'introduction de cet article, vous pourrez rapidement commencer à utiliser le framework Flask et développer vos propres applications Web Python.

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