首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
您现在的位置: 程式碼之家 >> 編程語言 >  >> 更多程式語言 >> 程式設計綜合問答

LeanCloud + Flask 部署避坑指南:解決網頁跳轉 404 錯誤

     編輯:程式設計綜合問答

錯誤現象

在 LeanCloud 雲引擎部署 Flask 應用時,訪問根路徑 / 返回「The requested URL was not found on the server」,但本地開發環境完全正常。

根因分析:路由註冊與部署入口不匹配

LeanCloud 雲引擎要求入口文件為 wsgi.py,且必須暴露 application 物件。常見錯誤:

  1. Blueprint 未正確註冊到主應用
  2. 入口文件未正確導入 Blueprint
  3. 靜態文件/模板路徑配置錯誤

標準項目結構

project_root/
├── wsgi.py              # 雲引擎入口
├── app/
│   ├── __init__.py      # 建立 Flask app 並註冊 Blueprint
│   ├── home/
│   │   ├── __init__.py
│   │   ├── views.py     # 定義 home_view Blueprint
│   │   └── templates/
│   │       └── login.html
│   └── static/
└── requirements.txt

關鍵代碼修正

app/__init__.py

from flask import Flask
def create_app():
    app = Flask(__name__)
    from .home.views import home_view
    app.register_blueprint(home_view)  # 關鍵:註冊 Blueprint
    return app

wsgi.py

from app import create_app
application = create_app()  # LeanCloud 尋找的變數名必須是 application

app/home/views.py

from flask import Blueprint, render_template
home_view = Blueprint('home', __name__, template_folder='templates')

@home_view.route('/', methods=['GET', 'POST'])
def homep():
    return render_template('login.html')

驗證清單

  • ✅ wsgi.py 在專案根目錄
  • ✅ application 變數指向 Flask app 實例
  • ✅ Blueprint 使用相對路徑 template_folder='templates'
  • ✅ requirements.txt 包含 flask、leancloud-sdk
  • ✅ 本地用 gunicorn wsgi:application 測試通過

進階:靜態文件服務

LeanCloud 建議靜態文件走 CDN,若必須由 Flask 服務,需在創建 app 時指定:

app = Flask(__name__, static_folder='../static', static_url_path='/static')
  1. 上一篇文章:
  2. 下一篇文章:
Copyright © 程式碼之家 All Rights Reserved