Apache和共享媒体在一个单独的目录中

时间:2014-04-20 14:17:33

标签: python django apache mod-wsgi

我正在构建一个用于/ Users / me / Dropbox目录的django应用程序。

Localhost指向我的/ Users / me / Sites目录。

mod_wsgi已安装。 apache安装 django安装和app在开发模式下正常工作

我正在尝试将媒体嵌入模板中 这个媒体来自django应用程序之外的目录 - 在机器的根目录中 - / PROYECTOS

目录和前面目录的权限可由_www

读取

我认为我理解

  • mod_wsgi将提供动态文件
  • apache将提供静态文件,如css和模板文件,以及我在/ PROYECTOS目录中引用的媒体文件

我在settings.py中有以下内容:

STATICFILES_DIRS = (os.path.join(BASE, "static"), )
STATIC_URL = "/static/"
MEDIA_URL = "/PROYECTOS/"
WSGI_APPLICATION = 'mbrain.wsgi.application'

在/etc/apache2/extra/vhosts/localhost.conf中我有:

<VirtualHost *:80>

DocumentRoot "/Users/me/Sites/localhost"
ServerName localhost

WSGIDaemonProcess localhost python-path=/Users/me/Dropbox/mBrain_Adam/mbrain/:/Users/me/Dropbox/mBrain_Adam/mbrain/venv/include/python2.7
WSGIProcessGroup localhost

Alias /proyectos/ /PROYECTOS/

<Directory /PROYECTOS>
    Require all granted
</Directory>

WSGIScriptAlias / /Users/me/Dropbox/mBrain_Adam/mbrain/mbrain/wsgi.py

<Directory /Users/me/Dropbox/mBrain_Adam/mbrain/mbrain>
    <Files wsgi.py>
    Require all granted
    </Files>
</Directory>

因此要将媒体文件嵌入到模板中,我将其作为网址: {{MEDIA_URL}} {{asset.assetPath}}

当我在浏览器中加载页面时,控制台显示媒体资产的完全展开路径,但出现404错误 - HTTP / 1.1“404 3045。

我真的很感激有关我是否正确接近这个问题的反馈,或者我是否完全错过了这个概念。 此外,对404错误的任何帮助都将不胜感激。

干杯!

亚当

1 个答案:

答案 0 :(得分:0)

删除尾部斜杠时是否有效? Alias / proyectos / PROYECTOS