簡體   English   中英

媒體文件未在Django中的電子郵件中加載

[英]Media files not loading in email in Django

我在Apache Web服務器上部署了一個Django項目。 我在文件夾/var/www/media/提供我的媒體文件。 當我在我的Web應用程序上時,我的媒體文件加載正常。

我有一個功能,可以向不同的人發送電子郵件。 在那封電子郵件中,那些媒體文件應該加載,但它們在控制台中顯示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/'
...

這是我的production.py文件,它在manage.pywsgi.py中加載:

from .base import *

DEBUG = False

ALLOWED_HOSTS = ['iro.egerin.com']

MEDIA_URL = 'http://iro.egerin.com/media/'

請告訴我應該怎樣做才能將我的媒體文件從電子郵件中加載到應用程序中?

只是想知道這是控制台中的錯誤:

在此輸入圖像描述

您錯過了在添加了媒體文件的模板中添加服務器名稱。 你的圖像元素應該是這樣的:

<img src="{{MEDIA_URL}}{{path_of_image}}" />

您錯過了模板中的media_url。

確保您已在項目urls.py中添加了媒體網址

urlpatterns += patterns('',url(r'^media/(?P<path>.*)$', 'django.views.static.serve',
                            {'document_root': settings.MEDIA_ROOT, 'show_indexes': False}),)

在項目settings.py中設置MEDIA_ROOT,然后直接使用.url{{instace.prodimage.url }} )訪問模板中的圖像

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM