Django DEBUG = False时托管媒体文件

时间:2018-07-30 16:01:44

标签: django django-templates apache2

为了在我的网络服务器中投放Media files,我遇到了一个小问题。 我的Web应用程序处于生产模式,因此我必须设置DEBUG = false

这是我的项目:

Astrophotographie
|
|_ Accueil
|_ Articles
|_ Astrophotographie
|_ Astro_Database
|_ manage.py
|_ Media
|     |_ Media
|          |_ list of pictures
|_ static
|_ templates
|_ virtualenv

我的settings.py文件:

STATIC_URL = '/static/'
THEME_DIRS = os.path.join(BASE_DIR, "static")
STATIC_ROOT = os.path.join(BASE_DIR, "staticfiles")
STATICFILES_DIRS = [os.path.join(BASE_DIR, "static"), THEME_DIRS, ]

MEDIA_URL = "/Media/"
MEDIA_ROOT = os.path.join(BASE_DIR, "Media")

好了,这已经完成了,我知道Django无法托管这样的Media文件,因此我有Apache2来做到这一点。我配置了Apache2,所以我的所有网站听起来都像,但我没有克服无法显示图片的问题。

Apache2配置:

<VirtualHost *:80>
    DocumentRoot /var/www/html
    ServerAdmin webmaster@localhost

    Alias /Media/  /home/pi/astro/Astrophotographie/Media
    Alias /static/ /home/pi/astro/Astrophotographie/staticfiles

    <Directory /home/pi/astro/Astrophotographie/static>
        Require all granted
    </Directory>

    <Directory /home/pi/astro/Astrophotographie/Media>
        Require all granted
    </Directory>

    <Directory /home/pi/astro/Astrophotographie/Astrophotographie>
        <Files wsgi.py>
            Require all granted
        </Files>
    </Directory>

    WSGIDaemonProcess astro/Astrophotographie python-path=/home/pi/astro/Astrophotographie python-home=/home/pi/astro/astroenv
    WSGIProcessGroup astro/Astrophotographie
    WSGIScriptAlias / /home/pi/astro/Astrophotographie/Astrophotographie/wsgi.py

</VirtualHost>

Alias似乎很好,对吗? 我错过了配置中的某些内容才能正确显示图片吗?

这是我在网站上看到的:

enter image description here

1 个答案:

答案 0 :(得分:0)

我找到了答案,我不得不像这样修改我的apache2文件:

Alias /Media/  /home/pi/astro/Astrophotographie/Media/

我在行尾忘记了/。现在,使用DEBUG = False可以正常工作