在烧瓶中给出404的所有路线,尽管已成功导入routes.py

  • 本文关键字:成功 py routes 导入 flask routes
  • 更新时间 :
  • 英文 :


我目前正在处理一个flask后端,但遇到了一个问题,即尽管routes.py显然在运行,但所有路由都返回404。

routes.py:

import sys, os, json
from flask import Flask, render_template
from flask_cors import CORS, cross_origin
app = Flask(__name__)
app.config.from_pyfile('config.py')
CORS(app)

@app.route('/', endpoint='index')
@app.route('/index', methods=['GET'], endpoint='index')
@cross_origin()
def index():
print('Hello world!', file=sys.stderr)
return render_template('index.html', title='home')

@app.route('/projects', endpoint='projects')  # route for projects showcase including json project data loading
@cross_origin()
def projects():
projects = os.path.join(app.static_folder, 'data', 'projects.json')
with open(projects) as pData:
data = json.load(pData)
return render_template('projects.html', title='showcase', data=data)

@app.route('/contact', endpoint='contact')
def contact():
return render_template('contact.html', title='contact')

print('Hello routes!', file=sys.stderr) #testing line

当我启动它时,输出是这样的:

* Serving Flask app 'ClayG' (lazy loading)
* Environment: development
* Debug mode: on
Hello routes!
* Restarting with stat
* Debugger is active!
Hello routes!
* Debugger PIN: 274-753-929
* Running on http://127.0.0.1:5000/

routes.py末尾的打印功能运行,所以我的应用程序通过了,但当我访问localhost:5000时,我得到了一个404,终端输出中只有这个

127.0.0.1 - - [05/Feb/2022 17:20:29] "GET / HTTP/1.1" 404 -

其他文件和文件结构

.
├── ClayG.py
├── .flaskenv
├── app
│   ├── config.py
│   ├── routes.py
│   └── __init__.py

粘土质

import os, sys
sys.path.append(os.path.join(os.path.dirname(os.path.realpath(__file__))))
from app import app

.flaskenv

FLASK_APP=ClayGale
FLASK_ENV=development

init.py

from flask import Flask
from . import routes
app = Flask(__name__)

配置

class Config:
STATIC_FOLDER = 'static'
TEMPLATES_FOLDER = 'templates'
DEBUG = True
TESTING = True

我注意到的一件事是,将FLASK_ENV="development"添加到配置类中,它仍然作为生产启动,我只能使用.flaskenv文件在开发中启动它。不幸的是,我只是困惑于从这里该做什么,所以任何关于尝试什么的智慧都会有所帮助。

您已经创建了两个Flask应用程序。一个在具有端点的routes.py中,另一个在完全空的__init__.py中。您应该在__init__.py文件中使用以前创建的应用程序:

from . import routes
app = routes.app

相关内容

  • 没有找到相关文章

最新更新