注册蓝图那么你如何注册蓝图?像这样: from flask import Flask
from yourapplication.simple_page import simple_page
app = Flask(__name__)
app.register_blueprint(simple_page)
如果你检查已经注册到应用的规则,你会发现这些: [<Rule '/static/<filename>' (HEAD, OPTIONS, GET) -> static>,
<Rule '/<page>' (HEAD, OPTIONS, GET) -> simple_page.show>,
<Rule '/' (HEAD, OPTIONS, GET) -> simple_page.show>]
第一个显然是来自应用自身,用于静态文件。其它的两个用于 不过,蓝图也可以在不同的位置挂载: app.register_blueprint(simple_page, url_prefix='/pages')
那么,这些果然是生成出的规则: [<Rule '/static/<filename>' (HEAD, OPTIONS, GET) -> static>,
<Rule '/pages/<page>' (HEAD, OPTIONS, GET) -> simple_page.show>,
<Rule '/pages/' (HEAD, OPTIONS, GET) -> simple_page.show>]
在此之上,你可以多次注册蓝图,虽然不是每个蓝图都会正确地响应这些。实际上, 蓝图能否被多次挂载,取决于蓝图是怎样实现的。 蓝图资源蓝图也可以提供资源。有时候你会只为它提供的资源而引入一个蓝图。 蓝图资源文件夹像常规的应用一样,蓝图被设想为包含在一个文件夹中。当多个蓝图源于同一个文件 夹时,可以不必考虑上述情况,但也这通常不是推荐的做法。 这个文件夹会从 >>> simple_page.root_path
'/Users/username/TestProject/yourapplication'
可以使用 with simple_page.open_resource('static/style.css') as f:
code = f.read()
静态文件一个蓝图可以通过 static_folder 关键字参数提供一个指向文件系统上文件夹的路 径,来暴露一个带有静态文件的文件夹。这可以是一个绝对路径,也可以是相对于蓝图 文件夹的路径: admin = Blueprint('admin', __name__, static_folder='static')
默认情况下,路径最右边的部分就是它在 web 上所暴露的地址。因为这里这个文件夹 叫做 最后是命名的 blueprint_name.static ,这样你可以生成它的 URL ,就像你对应用 的静态文件夹所做的那样: url_for('admin.static', filename='style.css') |
Archiver|手机版|笨鸟自学网 ( 粤ICP备20019910号 )
GMT+8, 2024-11-21 19:15 , Processed in 0.018661 second(s), 17 queries .