[英]404 Not Found when trying to open route inside app folder in python flask?
我的項目文件夾結構如下:
Project/
app/
templates/
base.html
index.html
user/
__init__.py
routes.py
venv/
Hello.py
Hello.py
是用於初始化我的項目的文件,以便在app/user/routes.py
可以從那里打開另一個路由。 所以,我有我的Hello.py
代碼,如下所示:
from flask import Flask,render_template, redirect,url_for
from app import app
from app.user.routes import *
app = Flask(__name__)
if __name__ == '__main__':
app.debug = True
app.run()
app.run(debug = True)
在app/user/routes.py
我定義了一個路由功能/user
,如下所示:
from flask import render_template
from app import app
@app.route('/user')
def get_user():
user = {'username':'Migual'}
posts = [
{
'author': {'username':'John'},
'body':'Beautiful day in Portland!'
},
{
'author': {'username':'Susan'},
'body':'The Avengers movie was so cool!'
}
]
return render_template('index.html',title='Home',user=user,posts=posts);
但是,我運行$ python Hello.py
,它可以正常工作,但是在瀏覽器中,當我瀏覽http://127.0.0.1:5000/user
,我得到了404 Not Found
如下所示:
找不到在服務器上找不到請求的URL。 如果您手動輸入網址,請檢查拼寫,然后重試。
任何線索,我怎么能打開routes.py
定義的路由/user
? 謝謝。
您在hello.py
創建了一個新app
,並且不使用從app.user.routes
的app
導入的app
。
您的hello.py
應該如下所示:
from app import app
import app.user.routes # just to define the routes
if __name__ == '__main__':
app.run(debug=True)
並且一個app/__init__.py
應該看起來像這樣:
from flask import Flask
app = Flask(__name__)
如下更改您的Hello.Py:
from flask import Flask,render_template, redirect,url_for
app = Flask(__name__)
from app.user.routes import *
if __name__ == '__main__':
app.debug = True
app.run(debug = True)
如下更改您的routes.py:
from flask import render_template
from Hello import app
@app.route('/user')
def get_user():
user = {'username':'Migual'}
posts = [
{
'author': {'username':'John'},
'body':'Beautiful day in Portland!'
},
{
'author': {'username':'Susan'},
'body':'The Avengers movie was so cool!'
}
]
return render_template('index.html',title='Home',user=user,posts=posts)
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.