构建RESTful Web应用

在本教程中,将介绍如何使用Python的Flask框架和TypeScript的Angular框架来构建一个简单的CRUD(创建、读取、更新和删除)系统,用于管理客户信息。这个系统可以进一步扩展,构建成一个功能完备的客户管理系统。

技术概览

在开始实践步骤之前,让简要了解一下本教程中将要使用的技术:

Flask:一个用于构建Web应用的Python微框架,以其轻量和可扩展性而闻名。Flask的一些特点包括:

  • 易于设置和开始使用
  • 拥有活跃的社区
  • 文档良好
  • 比Django更轻量,对于许多项目来说,是Django的一个不错的轻量级替代品
  • 可以轻松扩展

Angular 5:Angular的最新版本,是构建前端应用的最流行的客户端框架之一,使用TypeScript。Angular由Google创建、使用和支持。

SQLAlchemy:一个Python ORM(对象关系映射器)和SQL工具包,允许Python开发者使用SQL数据库(用于数据持久化和检索),而无需了解或处理SQL,而是使用Python对象和方法。

在本节中,将学习如何安装Flask和Angular来设置开发环境。

首先,要完成本教程,需要:

  • 安装Python 3。可以从安装。
  • 使用pipenv来管理依赖(pip install pipenv)。
  • 可选地,使用docker快速设置数据库系统。否则,只需在系统中安装PostgreSQL,因为将需要它来持久化数据(将使用SQLAlchemy ORM进行数据持久化,所以任何数据库管理系统都可以工作,但为了遵循本教程的确切说明,需要PostgreSQL)。
  • 安装Node.js和NPM。可以从安装。请注意,AngularCLI需要Node 6.9.0或更高版本,以及NPM 3或更高版本。

步骤1 — 创建PostgreSQL数据库

安装Docker后,只需要运行以下命令即可创建PostgreSQL数据库:

docker run --name crmdb -p 5432:5432 -e POSTGRES_DB=crmdb -e POSTGRES_PASSWORD=p4ssw0rd -d postgres

如果在系统中安装了PostgreSQL并想使用它而不是docker,请运行以下命令:

createdb crmdb

步骤2 — 安装Angular CLI

现在需要安装Angular CLI,回到终端并运行以下命令:

npm install -g @angular/cli

可能需要根据npm配置,在命令前添加sudo。

步骤3 — 引导Flask应用

现在已经设置了PostgreSQL数据库和Angular CLI。让用Python和Flask引导后端应用。

首先,使用以下命令为项目创建必要的文件夹:

mkdir flask-crm cd flask-crm mkdir backend

导航回flask-crm的根目录,然后使用pipenv初始化一个新的Python 3环境,这将用于隔离项目的包,使其与系统范围的包分开。

pipenv --three

将在flask-crm中创建一个Pipfile。

现在可以安装项目的Python依赖项,即flask(Flask框架的包)、marshmallow(序列化和反序列化JSON对象的包)、sqlalchemy(SQLAlchemy ORM的包)和psycopg2-binary(SQLAlchemy ORM的PostgreSQL驱动程序)。回到终端并运行以下命令:

pipenv install flask marshmallow sqlalchemy psycopg2-binary

安装Python依赖项后,让创建一个Flask应用。

创建基础Flask应用

回到终端,在backend文件夹内创建一个main.py文件,然后添加以下代码,用Flask打个招呼。

from flask import Flask app = Flask(__name__) @app.route('/') def hello_world(): return 'Hello World!'

首先从flask包导入Flask类,接下来创建该类的一个实例(__name__参数指的是应用程序模块,所以传递它来告诉flask在哪里找到其他应用程序的文件)。接下来创建一个简单的Python函数,它简单地返回字符串Hello World!。这个函数被@app.route('/')装饰器装饰,它告诉Flask当用户访问/路径或主页URL时,调用这个函数并显示其结果。

要运行这个应用,需要在终端运行以下命令:

pipenv shell cd backend export FLASK_APP=main.py flask run

首先,激活虚拟环境,导航到backend文件夹,然后导出FLASK_APP并运行应用程序服务器(导出FLASK_APP告诉flask运行哪个文件,在例子中,它是main.py文件)。应用程序服务器将在http://127.0.0.1:5000/上运行。如果用Web浏览器访问这个地址,将看到显示的Hello World!。

步骤4 — 创建Angular 5前端应用

在前面的步骤中,已经安装了AngularCLI。现在让使用它来创建一个基础的Angular 5应用。回到终端,确保在flask-crm文件夹内,然后运行以下命令来生成前端并提供服务:

ng new frontend cd frontend ng serve

应用将在http://localhost:4200/上运行。

沪ICP备2024098111号-1
上海秋旦网络科技中心:上海市奉贤区金大公路8218号1幢 联系电话:17898875485