Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/django/23.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Python Django中未在电子邮件中加载媒体文件_Python_Django_Apache_Email_Django Staticfiles - Fatal编程技术网

Python Django中未在电子邮件中加载媒体文件

Python Django中未在电子邮件中加载媒体文件,python,django,apache,email,django-staticfiles,Python,Django,Apache,Email,Django Staticfiles,我在ApacheWeb服务器上部署了一个Django项目。我正在为文件夹/var/www/media/中的媒体文件提供服务。当我在web应用程序上时,媒体文件加载正常 urlpatterns += patterns('',url(r'^media/(?P<path>.*)$', 'django.views.static.serve', {'document_root': settings.MEDIA_ROOT, 'show_in

我在ApacheWeb服务器上部署了一个Django项目。我正在为文件夹
/var/www/media/
中的媒体文件提供服务。当我在web应用程序上时,媒体文件加载正常

urlpatterns += patterns('',url(r'^media/(?P<path>.*)$', 'django.views.static.serve',
                            {'document_root': settings.MEDIA_ROOT, 'show_indexes': False}),)
我有一个向不同的人发送电子邮件的功能。在该电子邮件中,这些媒体文件应该加载,但在控制台中显示404错误

urlpatterns += patterns('',url(r'^media/(?P<path>.*)$', 'django.views.static.serve',
                            {'document_root': settings.MEDIA_ROOT, 'show_indexes': False}),)
这是我在我的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>
...
STATIC_URL = '/static/'
STATIC_ROOT = '/var/www/static/'

MEDIA_URL = '/media/'
MEDIA_ROOT = '/var/www/media/'
...
urlpatterns += patterns('',url(r'^media/(?P<path>.*)$', 'django.views.static.serve',
                            {'document_root': settings.MEDIA_ROOT, 'show_indexes': False}),)
这是我的production.py文件,加载到manage.pywsgi.py中:

from .base import *

DEBUG = False

ALLOWED_HOSTS = ['iro.egerin.com']

MEDIA_URL = 'http://iro.egerin.com/media/'
urlpatterns += patterns('',url(r'^media/(?P<path>.*)$', 'django.views.static.serve',
                            {'document_root': settings.MEDIA_ROOT, 'show_indexes': False}),)
请告诉我应该怎么做才能像在电子邮件中一样从应用程序中加载媒体文件

urlpatterns += patterns('',url(r'^media/(?P<path>.*)$', 'django.views.static.serve',
                            {'document_root': settings.MEDIA_ROOT, 'show_indexes': False}),)
只是想说明一下,这是控制台中的错误:

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

您没有在添加媒体文件的模板中添加服务器名称。
urlpatterns += patterns('',url(r'^media/(?P<path>.*)$', 'django.views.static.serve',
                            {'document_root': settings.MEDIA_ROOT, 'show_indexes': False}),)
图像元素应类似于:

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


您没有在模板中添加媒体url。

您没有在添加媒体文件的模板中添加服务器名称。
urlpatterns += patterns('',url(r'^media/(?P<path>.*)$', 'django.views.static.serve',
                            {'document_root': settings.MEDIA_ROOT, 'show_indexes': False}),)
图像元素应类似于:

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


模板中缺少媒体url。

请确保已将媒体url添加到项目url.py中

urlpatterns += patterns('',url(r'^media/(?P<path>.*)$', 'django.views.static.serve',
                            {'document_root': settings.MEDIA_ROOT, 'show_indexes': False}),)
urlpatterns+=patterns(“”,url(r'^media/(?P.*)$,'django.views.static.service',
{'document\u root':settings.MEDIA\u root,'show\u index':False},)

在project settings.py中设置媒体根目录,然后直接使用
.url
{{instace.prodimage.url}}

确保已在项目url.py中添加媒体url

urlpatterns += patterns('',url(r'^media/(?P<path>.*)$', 'django.views.static.serve',
                            {'document_root': settings.MEDIA_ROOT, 'show_indexes': False}),)
urlpatterns+=patterns(“”,url(r'^media/(?P.*)$,'django.views.static.service',
{'document\u root':settings.MEDIA\u root,'show\u index':False},)

在project settings.py中设置媒体根目录,然后可以使用
.url
{{instace.prodimage.url}}
)直接访问模板中的图像

是否在项目URL中设置了媒体URL。py是否在项目URL中设置了媒体URL。py能否告诉我在URL.py中添加媒体URL的目的是什么?要从数据库读取媒体文件路径,(将媒体文件上载到应用程序后,该文件将转到您提到的模型创建的媒体文件夹,路径存储在模型字段中)能否告诉我在URL.py中添加媒体URL的目的是什么?要从数据库中读取媒体文件路径,(将媒体文件上载到应用程序后,该文件将转到提及模型创建的媒体文件夹,路径将存储到模型字段中)
urlpatterns += patterns('',url(r'^media/(?P<path>.*)$', 'django.views.static.serve',
                            {'document_root': settings.MEDIA_ROOT, 'show_indexes': False}),)