我经历了很多教程,一切顺利。但我开始自己的网站,我只得到404错误。
我下载了一个HTML模板并设法将文件从Github克隆到PythonAnywhere。现在我的文件结构是: Screenshot
Flask_app.py代码:
from flask import Flask
# set the project root directory as the static folder, you can set others.
app = Flask(flask_app, static_url_path='/home/dubspher/mysite')
app = Flask(__name__)
@app.route('/home/dubspher/mysite/')
def static_file(path):
return app.send_static_file(index.html)
if __name__ == "__main__":
app.run()
我是否应该使用模板创建另一个网站并使用render_template,或者我可以通过这种方式请求带有烧瓶的静态页面?
到目前为止,我尝试了很多代码,但我不知道如何处理static_url_path
HTML(如果需要):https://www.pythonanywhere.com/user/dubspher/shares/db715c9b9d7c43b7beb4245af23fb56c/
如果我需要添加更多信息,请告诉我。
答案 0 :(得分:0)
以下代码已修复,以便在您网站的根目录中提供index.html(例如http://example.com/):
from flask import Flask
# set the project root directory as the static folder, you can set others.
app = Flask(__name__, static_folder='/home/dubspher/mysite/')
@app.route('/')
def static_file():
return app.send_static_file('index.html')
if __name__ == "__main__":
app.run()
假设您的/ home / dubspher / mysite目录中有一个index.html文件。
要跟进你的css问题,你可以通过将static_url_path传递给Flask构造函数来获取静态文件。执行此操作时,与static_url_path磁带匹配的任何请求都将视为静态文件,并根据static_folder路径提供该请求。在下面的示例中,我将static_url_path设置为static,将static_folder设置为/ home / dubspher / mysite /。当http://example.com/static/css/site.css的请求进入flask时,将提供文件/home/dubspher/mysite/css/site.css。
from flask import Flask
app = Flask(__name__, static_url_path="/static", static_folder='/home/dubspher/mysite/')
@app.route('/')
def static_file():
return app.send_static_file('index.html')
if __name__ == "__main__":
app.run()
以下是从index.html引用/home/dubspher/mysite/css/site.css中的样式表的示例。
<html>
<head>
<link rel="stylesheet" type="text/css" href="/static/css/site.css">
</head>
<body>
Hello There
</body>
</html>
如果您确实使用static_url_path,则需要非常小心,static_folder路径下的所有内容都是您想要访问的内容。 Flask将按原样提供服务。