gpt4 book ai didi

python - 通过 apache 提供静态文件

转载 作者:太空宇宙 更新时间:2023-11-03 12:07:33 26 4
gpt4 key购买 nike

我是整个 mod_wsgi 和通过 apache 提供文件的新手。我对 flask 真的很满意,但这是我无法理解的事情。我做了hello-world程序,成功显示了hello world!现在我想显示一个图像文件。所以我将我的 hello-world.py 更新为:

from flask import *
yourflaskapp = Flask(__name__)

@yourflaskapp.route("/")
def hello():
file="203.jpg"
return render_template("hello.html",file=file)
# return"HEY"
if __name__ == "__main__":
yourflaskapp.run()

我的目录结构是这样的:/var/www/hello-world

/hello-world
test.py
yourflaskapp.wsgi
/static
-203.jpg
/templates
-hello.html

我的模板很简单:

<!DOCTYPE html>
<html><head><title>hi</title></head>
<body>
<img src="{{url_for('static',filename=file)}}"/>
</body></html>

我的 apache conf 文件是:

<VirtualHost *:80>
WSGIDaemonProcess yourflaskapp
WSGIScriptAlias / /var/www/hello-world/yourflaskapp.wsgi
Alias /static/ /var/www/hello-world/static
Alias /templates/ /var/www/hello-world/templates
<Directory /var/www/hello-world>
WSGIProcessGroup yourflaskapp
WSGIApplicationGroup %{GLOBAL}
Order deny,allow
Allow from all
</Directory>
<Directory /var/www/hello-world/static>
Order allow,deny
Allow from all
</Directory>
<Directory /var/www/hello-world/templates>
Order allow,deny
Allow from all
</Directory>
ErrorLog ${APACHE_LOG_DIR}/error.log
LogLevel warn
CustomLog ${APACHE_LOG_DIR}/access.log combined
</VirtualHost>

虽然当我打开浏览器并转到我的 ip 时,它没有显示图像文件。我究竟做错了什么?我应该遵循其他方法吗?如果有人可以从我可以理解使用 flask+mod_wsgi+apache2 的地方推荐任何好的链接

最佳答案

在子 URL 上加载静态文件时,平衡尾部斜杠通常是个好主意。所以不是:

Alias /static/ /var/www/hello-world/static

使用:

Alias /static /var/www/hello-world/static

关于python - 通过 apache 提供静态文件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/24739925/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com