我正在使用Flask在PythonAnywhere上运行一个简单的测试网站。当我运行脚本时,初始站点(index.html)出现,一切似乎都很好。但是,当我点击任何链接(如signup.html)时,我收到404错误:
未找到
在服务器上找不到请求的URL 如果您手动输入了URL,请检查拼写,然后重试。
但是,HTML文件和index.html一起都在templates文件夹中。为什么不能在服务器上找到它们?
以下是运行应用程序的Python代码:
from flask import Flask
from flask import render_template
app = Flask(__name__)
@app.route('/')
def runit():
return render_template('index.html')
if __name__ == '__main__':
app.run()
这是index.html的HTML部分,其中包含链接:
<a class="btn btn-lg btn-success" href="signup.html">Sign up</a>
答案 0 :(得分:3)
您需要为注册网址创建另一条路线,因此您的主网址代码需要为“/signup.html”添加路由,即
from flask import Flask
from flask import render_template
app = Flask(__name__)
@app.route('/')
def runit():
return render_template('index.html')
@app.route('/signup.html')
def signup():
return render_template('signup.html')
if __name__ == '__main__':
app.run()
如果您希望自己的网址更加清晰,可以在Python中执行以下操作:
@app.route('/signup')
def signup():
return render_template('signup.html')
并更改您的链接代码以匹配。
<a class="btn btn-lg btn-success" href="signup">Sign up</a>
主要的Flask文档在其快速入门指南中对路线进行了很好的概述:http://flask.pocoo.org/docs/quickstart/