簡體   English   中英

嘗試在python燒瓶中的app文件夾內打開路由時找不到404?

[英]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.routesapp導入的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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM