Обслуживание статических файлов через apache

Я новичок в целом mod_wsgi и обслуживать файлы через Apache. Мне очень удобно с флягой, но я не могу разобраться с этим. Я сделал программу 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

Мой шаблон прост, 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.

0 ответов

Другие вопросы по тегам