第三部:将flaskr作为包¶
Flask 现在有附带的内置的Click。Click 提供了可让Flask 增强并且可拓展的命令行实用程序.之后再这个教程里你将会看到到底如何去拓展Flask
命令行界面(CLI)。
管理Flask应用程序的有用模式是按照Python包装指南安装应用程序。目前这涉及创建两个新文件; setup.py
和MANIFEST.in
。您还需要添加__init__.py
文件,使flaskr/flaskr
目录成为包。完成这些更改后,您的代码结构应为:
/flaskr
/flaskr
__init__.py
/static
/templates
flaskr.py
schema.sql
setup.py
MANIFEST.in
flaskr
的setup.py
文件的内容为:
from setuptools import setup
setup(
name='flaskr',
packages=['flaskr'],
include_package_data=True,
install_requires=[
'flask',
],
)
使用setuptools时,还需要指定应包含在包中的任何特殊文件(在MANIFEST.in
中)。在这种情况下,需要包括静态和模板目录以及模式。创建MANIFEST.in
并添加以下行:
graft flaskr/templates
graft flaskr/static
include flaskr/schema.sql
要简化应用程序的定位,请将以下import语句添加到此文件flaskr/__init__.py
:
from flaskr import app
此import语句将应用程序实例带入应用程序包的顶层。当需要运行应用程序时,Flask开发服务器需要应用程序实例的位置。此导入语句简化了位置过程。没有它,下面几个步骤的导出语句需要导出 FLASK_APP = flaskr.flaskr
。
此时,您应该能够安装应用程序。像往常一样,建议您在virtualenv中安装Flask应用程序。说到这里,继续安装应用程序:
pip install --editable .
以上安装命令假定它在项目根目录flaskr /下运行。可编辑标志允许编辑源代码,无需在每次进行更改时重新安装Flask应用程序。flaskr应用现在安装在您的virtualenv中(请参见pip freeze
的输出)。
有了这一点,你应该能够启动应用程序。使用以下命令执行此操作:
export FLASK_APP=flaskr
export FLASK_DEBUG=true
flask run
(如果您在Windows上,则需要使用set而不是export)。 FLASK_DEBUG
标志启用或禁用交互式调试器。永远不要在生产系统中激活调试模式,因为它将允许用户在服务器上执行代码!
您将看到一条消息,告诉您服务器已启动,并且您可以访问该地址。
当您在浏览器中转到服务器时,您会收到404错误,因为我们还没有任何视图。这将稍后解决,但首先,你应该让数据库工作。
外部可见服务器
希望您的服务器公开吗?有关详细信息,请参阅externally visible server部分。
继续步骤 4:数据库连接。