使用一个小项目来学习 Flask

程序猿,你好🐒!

本文的目的是帮助初学者在 Flask 中编写他们的第一个应用程序,这是一个著名的用 Python 编写的库。感谢您的阅读!

应用截图

源码Demo

Flask

安装 Python

可以从 官方网站 下载 Python。选择适合您的操作系统的安装程序,下载并点击安装。

完成后在终端窗口中输入 python --version,您可以看到类似以下的内容:

$ python --version
Python 3.7.2

安装 Flask

我们在这里有两个选择。使用 虚拟环境 或全局安装 Flask。我将选择简单的选项:

$ pip install Flask
$ pip freeze | grep Flask 

第一个命令安装 Flask,第二个命令将打印版本。

下一步:确定项目结构

Flask 让您将 Web 应用程序的组织交给您。整个应用程序可以保存在一个文件中,也可以分解成多个文件或程序包。

前两个选项是:

  • 单模块结构,其中所有文件都保存在同一目录中。这种结构适合于小型项目或学习项目。

Flask - Single module structure

  • 基本的包结构-如果您的项目不再是一个很小的项目,则可能建议使用此项目结构。

Flask - App Package structure

现在我们可以看到一个更有条理的目录结构,其中每个文件代表:

  1. run.py - 应用启动器
  2. requirements.txt - 包含项目所需模块的文件
  3. app / __init__.py - t我们的应用程序的构造函数

编写代码并运行应用

我将选择文件夹 package structure 并在其中创建一些文件来对该 App 进行编码。最小的项目结构需要像这样两个文件:

<ROOT> / run.py
       / app /
       / app / __init__.py

run.py

from app import app

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

__init__.py

from flask import Flask
app = Flask(__name__)

@app.route('/')
def hello():
    return 'Hello Coder, you are up!'

搭建环境:

在运行您的应用之前,您必须设置变量 FLASK_APP,以告知Flask首先应执行的操作。

  • 在 Unix 中的设置:export FLASK_APP=run.py
  • 在 Windows CMD 中的设置:set FLASK_APP=hello.py
  • 在 Windows Powershell 中的设置:$env:FLASK_APP = "run.py"

进入 run.py 存在的目录,输入 flask run
通过在浏览器中访问 localhost:5000,您应该看到该应用程序正在运行。

Flask App - First Scree

整合设计

为了使该应用更具吸引力,我将集成一个流行的样式,该样式由 Creative-TimMaterial Kit 设计。

项目的新结构

集成新设计是一项非常容易的任务,步骤如下:

  • 将UI工具包资产复制到 app / static / assets 目录下。
  • templates 目录下添加 index.html文件。

Flask App - Final Structure

更新文件,以渲染模板

  • 修改 __init__.py
from flask import Flask, render_template
app = Flask(__name__)

@app.route('/hello')
def hello():
    return 'Hello Coder, you are up!'

@app.route('/')
def index():
    return render_template( 'layouts/default.html',
                            title='Flask - Learn by Coding',
                            description='Simple Flask tutorial for beginners.',
                            content=render_template('pages/index.html') ) 

上述代码的作用:

  • 加载默认样式。
  • 在模板中注入三个变量:页面标题 title、页面描述 description 和页面内容 content

布局页面的结构

点击查看👉源码

页面布局

索引页的结构

点击查看👉源码

索引页面

人生苦短我用 Python!

本文中的所有译文仅用于学习和交流目的,转载请务必注明文章译者、出处、和本文链接
我们的翻译工作遵照 CC 协议,如果我们的工作有侵犯到您的权益,请及时联系我们。

原文地址:https://dev.to/sm0ke/flask-learn-by-codi...

译文地址:https://learnku.com/python/t/38748

本文为协同翻译文章,如您发现瑕疵请点击「改进」按钮提交优化建议
讨论数量: 0
(= ̄ω ̄=)··· 暂无内容!

讨论应以学习和精进为目的。请勿发布不友善或者负能量的内容,与人为善,比聪明更重要!