#
后端起步

# 你需要了解

入门一个新框架最好的方式就是将这个框架的 demo 运行起来。由于 Lin 采用的是前后端分离的架构,所以相比于传统的网站,它的环境搭建会稍显麻烦。但 Lin 并没有采用任何冷门的技术,相比于传统网站,只不过多出了一些对于 Vue 运行环境的支持。

Lin 的 Server 端是基于 Python Flask 的, 所以你必须首先在自己的 PC 上安装 Python 环境包。此外,Lin 是一个完整的框架,数据库是必然需要的。

无需担心,我们将详细阐述安装的步骤,让你轻松将 Lin 运行起来。

TIP

对于初学者,我们建议首先安装 Server 的环境,在将 Server 端运行、调试通过后再进行 Client 的安装和配置。

# 快速开始

# Server 端必备环境

  • 安装Python环境(version: 3.8+)

# 获取工程项目

打开您的命令行工具(terminal),在其中键入:

git clone https://github.com/TaleLin/lin-cms-flask.git starter

Tips:

我们以 starter 作为工程名,当然您也可以以任意您喜爱的名字作为工程名。

如果您想以某个版本,如0.0.1版,作为起始项目,那么请在 github 上的版本页下载相应的版本即可。

# 安装依赖包

进入项目目录,调用环境中的 pip 来安装依赖包:

pip install -r requirements-dev.txt

Tips:

requirements-dev.txt 是开发环境的依赖文件;requirements-prod.txt 是部署生产使用的依赖文件。

# 数据库配置

为了方便快速上手,Lin 默认使用无需额外部署的 Sqlite3 数据库。

打开项目根目录下的.env 文件(我们提供了开发环境的.development.env和生产环境的.production.env),配置其SQLALCHEMY_DATABASE_URI

Tips: 后文我们用{env}指代配置 development/production 环境

# 数据库配置示例
    SQLALCHEMY_DATABASE_URI='sqlite:///relative/path/to/file.db'

    or

    SQLALCHEMY_DATABASE_URI='sqlite:////absolute/path/to/file.db'

这将在项目的最外层目录生成名为lincms${env}.db的 Sqlite3 数据库文件。

# 使用 MySQL

Tips: 默认的依赖中不包含 Python 的 Mysql 库,如有需要,请自行在您的运行环境中安装它(如pymysqlcymysql等)。

Lin 需要您自己在 MySQL 中新建一个数据库,名字由您自己决定(例如lincms)。

创建数据库后,打开项目根目录下的.${env}.env文件,配置对应的SQLALCHEMY_DATABASE_URI

如下所示:

# 数据库配置示例: '数据库+驱动库://用户名:密码@主机:端口/数据库名'
SQLALCHEMY_DATABASE_URI = 'mysql+pymysql://root:123456@localhost:3306/lincms'

您所使用的数据库账号必须具有创建数据表的权限,否则 Lin 将无法为您自动创建数据表

# 初始化

如果您是第一次使用 Lin-CMS,需要初始化数据库。

请先进入项目根目录,然后执行flask db init,用来添加超级管理员 root(默认密码 123456), 以及新建其他必要的分组

Tips: 如果您需要一些业务样例数据,可以执行脚本flask db fake添加它

# 运行

一切就绪后,再次从命令行中执行

flask run

如果一切顺利,您将在命令行中看到项目成功运行的信息。如果您没有修改代码,Lin 将默认在本地启动一个端口号为 5000 的端口用来监听请求。此时,我们访问http://localhost:5000,将看到一组字符:

“心上无垢,林间有风"

点击“心上无垢”,将跳转到Redoc页面;点击“林间有风”,跳转到Swagger页面。

这证明您已经成功的将服务运行起来了,Congratulations!

如果你安装时遇到问题,那么尝试看看常见问题汇总,看能否解决,或者去我们的 github 仓库看 issue。如果没有出现你的问题,请给我们提 issue。