第三部:将flaskr作为包

Flask 现在有附带的内置的Click。Click 提供了可让Flask 增强并且可拓展的命令行实用程序.之后再这个教程里你将会看到到底如何去拓展Flask命令行界面(CLI)。

管理Flask应用程序的有用模式是按照Python包装指南安装应用程序。目前这涉及创建两个新文件; setup.pyMANIFEST.in您还需要添加__init__.py文件,使flaskr/flaskr目录成为包。完成这些更改后,您的代码结构应为:

/flaskr
    /flaskr
        __init__.py
        /static
        /templates
        flaskr.py
        schema.sql
    setup.py
    MANIFEST.in

flaskrsetup.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:数据库连接