【发布时间】:2017-03-20 04:09:15
【问题描述】:
我在 Apache Web 服务器上部署了一个 Django 项目。我在文件夹/var/www/media/ 中提供我的媒体文件。当我在我的网络应用程序上时,我的媒体文件可以正常加载。
我有一个功能可以向不同的人发送电子邮件。在那封电子邮件中,这些媒体文件应该加载,但它们在控制台中显示 404 错误。
这是我在 apache2.conf 文件中添加的内容:
WSGIScriptAlias / /home/search/egeirn/project/egeirn/wsgi.py
WSGIPythonPath /home/search/egeirn/project:/home/search/virtualenvs/egerin/lib/python2.7/site-packages
Alias /media/ /var/www/media/
Alias /static/ /var/www/static/
<Directory /var/www/static>
Require all granted
</Directory>
<Directory /var/www/media>
Require all granted
</Directory>
<Directory /home/search/egeirn/project/egeirn>
<Files wsgi.py>
Require all granted
</Files>
</Directory>
这是我的 base.py 文件:
...
STATIC_URL = '/static/'
STATIC_ROOT = '/var/www/static/'
MEDIA_URL = '/media/'
MEDIA_ROOT = '/var/www/media/'
...
这是我在 manage.py 和 wsgi.py 中加载的 production.py 文件:
from .base import *
DEBUG = False
ALLOWED_HOSTS = ['iro.egerin.com']
MEDIA_URL = 'http://iro.egerin.com/media/'
请告诉我应该怎么做才能从应用程序中加载我的媒体文件,比如在电子邮件中?
只是为了说明这是控制台中的错误:
【问题讨论】:
-
你在项目urls.py中设置了媒体url吗
标签: python django apache email django-staticfiles