我正在学习如何使用flask在python中创建web应用程序,我想在我的wordpress网站上添加一个,但是我已经被困在同一个问题上两天了。有人,请解释一下我做错了什么。在我使用cpanel安装了这个应用程序之后,我可以在google chrome中访问它的索引页(虽然在firefox中它有时返回“web应用程序无法由phusion乘客应用程序服务器启动”),但是其他所有页面都返回404错误。起初,html表单试图从网站的根开始访问页面,即。 example.com/page
,而不是 example.com/app_folder/page
,但我通过写作解决了这个问题 <form action="{{ url_for('page') }}" method="post">
而不是 <form action="/page" method="post">
.
所以链接是正确的,但仍然是404。前两条路由的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位于同一个“templates”文件夹中。
我已经安装并导入了所有必要的库。而且该应用程序在ide上独立运行时运行良好。但现在它的'/company'和任何其他非根路由返回404。我试过把事情搞砸 passenger_wsgi.py
,但结果似乎与我在其中编写的内容相同,即使它是空的或与application.py的代码相同。
我试着明确地告诉它在templates文件夹中查找html(没有效果)。我也尝试过向app目录中添加带有路由名称的空文件夹,正如在一个问题中所建议的那样,但是它只返回404或者“phusion乘客应用服务器无法启动web应用程序”
添加 if __name__ == '__main__': app.run()
在application的最后,py似乎也没有做任何事情。
我没有主意了。如果有人以前遇到过类似的问题,请告诉我你是如何解决的。
暂无答案!
目前还没有任何答案,快来回答吧!