Bootstrap

《每天5分钟用Flask搭建一个管理系统》第1章:环境搭建与Flask入门


第1章:环境搭建与Flask入门

1.1 Python和Flask的安装

Python的下载和安装
访问Python的官方网站 python.org,下载适合您操作系统的安装包。安装时,确保勾选了"Add Python to PATH"选项。

示例代码:检查Python是否安装成功

python --version

环境管理工具(如virtualenv)的使用
使用virtualenv创建一个独立的Python环境,避免不同项目间的依赖冲突。

示例代码:安装virtualenv

pip install virtualenv

示例代码:创建并激活虚拟环境

virtualenv myprojectenv
source myprojectenv/bin/activate  # 在Unix或MacOS上
myprojectenv\Scripts\activate  # 在Windows上

Flask的安装
在激活的虚拟环境中,使用pip安装Flask。

示例代码:安装Flask

pip install Flask
1.2 创建第一个Flask应用

项目结构的创建
创建一个新的目录作为项目文件夹,并在该目录中初始化虚拟环境。

示例代码:创建项目目录和虚拟环境

mkdir my_flask_app
cd my_flask_app
virtualenv venv
source venv/bin/activate  # 在Unix或MacOS上
venv\Scripts\activate  # 在Windows上

第一个Flask应用的编写
在项目目录中创建一个名为app.py的文件,并写入以下代码。

示例代码:app.py

from flask import Flask

app = Flask(__name__)

@app.route('/')
def home():
    return "Hello, Flask!"

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

运行Flask应用
在命令行中,运行以下命令启动Flask应用。

示例代码:启动Flask应用

python app.py
1.3 Flask应用的基本结构

Flask应用的组成部分
Flask应用通常由以下几个部分组成:

  • 应用工厂:用于创建Flask应用实例。
  • 路由:定义URL到视图函数的映射。
  • 视图函数:处理请求并返回响应的函数。

示例代码:使用应用工厂

from flask import Flask

def create_app():
    app = Flask(__name__)
    
    @app.route('/')
    def home():
        return "Welcome to the factory app!"
    
    return app

app = create_app()

蓝图(Blueprints)的使用
蓝图允许您将应用分割成不同的组件,每个组件负责应用的一部分功能。

示例代码:创建蓝图

from flask import Blueprint

bp = Blueprint('bp', __name__)

@bp.route('/blueprint')
def blueprint_route():
    return "This is a blueprint route!"
1.4 运行和测试Flask应用

使用开发服务器
Flask内置了一个简单的开发服务器,适合开发和测试使用。

示例代码:使用开发服务器

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

应用的调试模式
开启调试模式后,Flask会在代码修改后自动重新加载,并在出现错误时提供一个调试器。

测试Flask应用
使用Flask的测试客户端可以编写和运行测试用例。

示例代码:编写测试用例

import unittest
from app import app

class BasicTestCase(unittest.TestCase):

    def test_home_page(self):
        tester = app.test_client()
        response = tester.get('/')
        self.assertEqual(response.status_code, 200)
        self.assertTrue("Hello, Flask!" in response.data.decode())

if __name__ == '__main__':
    unittest.main()
1.5 总结

本章为您介绍了如何搭建Python和Flask的开发环境,并创建了您的第一个Flask应用。


;