Flask 应用程序显示 404
Flask application showing 404
我是 Python 和 Flask 的新手,我需要处理代码库。我在名为 migration
的目录中有以下文件
Name
app
env
__pycache__
requirements.txt
run.py
在run.py
中,我有以下代码:
from app import app
app.run(debug=True)
在 app
目录中,我有一个 __init__.py
,代码为:
from app.helpers import get_page_display_name, get_page_url_name
# from app import views
from flask import Flask
app = Flask(__name__)
app.config['JSON_SORT_KEYS'] = False
app.jinja_env.globals.update(get_page_display_name=get_page_display_name)
app.jinja_env.globals.update(get_page_url_name=get_page_url_name)
现在我在同一个 app
文件夹中有一个 views.py
文件,它有路由配置和相应的代码,如:
@app.route('/')
def index():
if 'username' in session:
return render_template("index.html")
return redirect(url_for('login'))
我正在尝试 运行 应用程序。我使用了以下命令:
env/Scripts/activate
这已经激活了环境,然后:
$env:FLASK_APP=.\run.py
flask run
这显示了一条类似于 运行ning 在 http://127.0.0.1:5000
上的消息,当我在浏览器中打开 URL 时打印了以下消息:
127.0.0.1 - - [19/Nov/2020 10:23:15] "GET / HTTP/1.1" 404 -
127.0.0.1 - - [19/Nov/2020 10:23:15] "GET /favicon.ico HTTP/1.1" 404 -
127.0.0.1 - - [19/Nov/2020 10:23:16] "GET / HTTP/1.1" 404 -
127.0.0.1 - - [19/Nov/2020 10:23:17] "GET / HTTP/1.1" 404 -
127.0.0.1 - - [19/Nov/2020 10:23:18] "GET / HTTP/1.1" 404 -
127.0.0.1 - - [19/Nov/2020 10:23:18] "GET / HTTP/1.1" 404 -
127.0.0.1 - - [19/Nov/2020 10:23:18] "GET / HTTP/1.1" 404 -
我也试过
$env:FLASK_APP=.\app\views.py
flask run
这也打印了与 运行ning 在同一端口上相同的消息,但打开时,显示的是相同的 404 消息。
我如何运行这个应用程序?我已经检查了文档,但该应用程序的结构略有不同。在此先感谢您的帮助。
您必须在定义 app
之后导入您的视图文件。我建议你使用 blueprint
.
编辑
views.py
from flask import Blueprint
bp = Blueprint('test', __name__, url_prefix='/')
@bp.route('/')
def index():
if 'username' in session:
return render_template("index.html")
return redirect(url_for('login'))
__init__py
from app.helpers import get_page_display_name, get_page_url_name
from views import bp
from flask import Flask
app = Flask(__name__)
app.register_blueprint(bp)
app.config['JSON_SORT_KEYS'] = False
app.jinja_env.globals.update(get_page_display_name=get_page_display_name)
app.jinja_env.globals.update(get_page_url_name=get_page_url_name)
我是 Python 和 Flask 的新手,我需要处理代码库。我在名为 migration
Name
app
env
__pycache__
requirements.txt
run.py
在run.py
中,我有以下代码:
from app import app
app.run(debug=True)
在 app
目录中,我有一个 __init__.py
,代码为:
from app.helpers import get_page_display_name, get_page_url_name
# from app import views
from flask import Flask
app = Flask(__name__)
app.config['JSON_SORT_KEYS'] = False
app.jinja_env.globals.update(get_page_display_name=get_page_display_name)
app.jinja_env.globals.update(get_page_url_name=get_page_url_name)
现在我在同一个 app
文件夹中有一个 views.py
文件,它有路由配置和相应的代码,如:
@app.route('/')
def index():
if 'username' in session:
return render_template("index.html")
return redirect(url_for('login'))
我正在尝试 运行 应用程序。我使用了以下命令:
env/Scripts/activate
这已经激活了环境,然后:
$env:FLASK_APP=.\run.py
flask run
这显示了一条类似于 运行ning 在 http://127.0.0.1:5000
上的消息,当我在浏览器中打开 URL 时打印了以下消息:
127.0.0.1 - - [19/Nov/2020 10:23:15] "GET / HTTP/1.1" 404 -
127.0.0.1 - - [19/Nov/2020 10:23:15] "GET /favicon.ico HTTP/1.1" 404 -
127.0.0.1 - - [19/Nov/2020 10:23:16] "GET / HTTP/1.1" 404 -
127.0.0.1 - - [19/Nov/2020 10:23:17] "GET / HTTP/1.1" 404 -
127.0.0.1 - - [19/Nov/2020 10:23:18] "GET / HTTP/1.1" 404 -
127.0.0.1 - - [19/Nov/2020 10:23:18] "GET / HTTP/1.1" 404 -
127.0.0.1 - - [19/Nov/2020 10:23:18] "GET / HTTP/1.1" 404 -
我也试过
$env:FLASK_APP=.\app\views.py
flask run
这也打印了与 运行ning 在同一端口上相同的消息,但打开时,显示的是相同的 404 消息。
我如何运行这个应用程序?我已经检查了文档,但该应用程序的结构略有不同。在此先感谢您的帮助。
您必须在定义 app
之后导入您的视图文件。我建议你使用 blueprint
.
编辑
views.py
from flask import Blueprint
bp = Blueprint('test', __name__, url_prefix='/')
@bp.route('/')
def index():
if 'username' in session:
return render_template("index.html")
return redirect(url_for('login'))
__init__py
from app.helpers import get_page_display_name, get_page_url_name
from views import bp
from flask import Flask
app = Flask(__name__)
app.register_blueprint(bp)
app.config['JSON_SORT_KEYS'] = False
app.jinja_env.globals.update(get_page_display_name=get_page_display_name)
app.jinja_env.globals.update(get_page_url_name=get_page_url_name)