Flask无法使用蓝图路由到某个URL

时间:2018-06-12 17:49:01

标签: python flask blueprint

我正在尝试组织我的烧瓶项目但是出了点问题。 我有这个目录:

app/ 
    __init__.py
    views/
        pages.py

在我的__init__.py文件中,我导入了pages对象和 将其注册为蓝图。

这是我pages.py文件中的代码。

from flask import Blueprint, render_template

pages = Blueprint('pages', __name__) #no prefix

@pages.route('/')
def index():
    return '<h1>in index.html</h1>'

@pages.route('/home')
def home():
    return '<h1>in home.html</h1>'

当我运行烧瓶应用并打开浏览器时,我进入localhost:5000 我可以很容易地达到'in index.html'标题 但当我进入localhost:5000/home时,我得到404 Not Found message

有谁知道为什么会这样?

2 个答案:

答案 0 :(得分:2)

好的,首先是文件夹结构:

app/
  __init__.py
  main.py

  views/
  __init__.py
  test.py

main.py的内容:

from flask import Flask
from views.test import pages

app = Flask(__name__)
app.register_blueprint(pages) <-- blueprint registration

test.py的内容:

from flask import Blueprint

pages = Blueprint('pages', __name__) #no prefix


@pages.route('/')
def index():
    return '<h1>in index.html</h1>'


@pages.route('/home')
def home():
    return '<h1>in home.html</h1>'

我相信 register_blueprint 是唯一缺少的东西。

答案 1 :(得分:0)

当这样的事情发生时,只需关掉所有东西,重置你的电脑。

有时候这个错误不是你的。