【发布时间】:2025-12-13 07:10:01
【问题描述】:
我正在学习如何使用烧瓶在 Python 中创建 Web 应用程序,并且我想在我的 WordPress 网站上添加一个,但我已经在同一个问题上停留了 2 天。有人,请解释我做错了什么。
在我使用 cPanel 安装应用程序后,我能够在 Google Chrome 中访问它的索引页面(虽然在 Firefox 中它有时会返回“Web 应用程序无法由 Phusion Passenger 应用程序服务器启动。”),但所有其他页面都返回 404错误。起初,html 表单试图从网站的根目录开始访问页面,即example.com/page,而不是example.com/app_folder/page,但我通过写<form action="{{ url_for('page') }}" method="post">而不是<form action="/page" method="post">来修复它。
所以链接是正确的,但它仍然是 404。前 2 条路由的 application.py 代码是这样的:
app = Flask(__name__)
app.config["TEMPLATES_AUTO_RELOAD"] = True
app.config["DEBUG"] = True
# Configure CS50 Library to use SQLite database
db = SQL("sqlite:///companies.db")
@app.route("/")
def index():
companies = db.execute("SELECT * FROM companies ORDER BY women DESC")
return render_template("index.html", companies=companies)
@app.route("/company")
def company():
company = request.args.get("company")
return render_template("company.html", company=company)
index.html 中的 HTML 表单应该向“/company”发送请求:
<form id="company" action="{{ url_for('company') }}" method="get">
<input type="hidden" name="company" value="{{company.company_name}}">
<input type="submit" value="?">
</form>
company.html 与 index.html 位于同一“模板”文件夹中。
我已经安装并导入了所有必要的库。该应用程序在 IDE 上独立运行时运行良好。但现在它的“/公司”和任何其他非根路由返回 404。我试过搞乱passenger_wsgi.py,但无论我在其中写什么,结果似乎都是一样的,即使它是空的或具有相同的代码应用程序.py。
我试图明确告诉它在模板文件夹中查找 HTML(无效)。我已经尝试按照一个问题中的建议将带有路由名称的空文件夹添加到应用程序目录,但它只返回 404 或“Phusion Passenger 应用程序服务器无法启动 Web 应用程序。”
在 application.py 的最后添加 if __name__ == '__main__': app.run() 似乎也没有任何作用。
我没有想法。如果有人以前遇到过类似的问题,请告诉我您是如何解决的。
【问题讨论】:
标签: python wordpress flask routes wsgi