Apache Django与静态和媒体文件服务

2024-10-02 00:33:40 发布

您现在位置:Python中文网/ 问答频道 /正文

我有一个django项目,我最终使用apache提供服务。我希望非常简单,所以尽管我的测试服务器是服务/媒体和静态的,但我没有将它们包括在站点.conf文件。我想首先检查部署是否有效,然后让apache提供静态文件。但是,说实话,Apache正在从media文件夹中提供文件,而不需要我做任何事情。我的apache配置是

<VirtualHost *:80>
    ServerAdmin webmast@rhombus.com
    ServerName myrhombus.com
    ServerAlias www.myrhombus.com
    WSGIScriptAlias / /srv/www/rhombus2/rhombus/wsgi.py
    <Directory /srv/www/rhombus2/rhombus>
    <Files wsgi.py>
            Require all granted
    </Files>
    </Directory>

    Alias /static/ /srv/www/rhombus2/static/
    Alias /media/ /srv/www/rhombus2/media/

    <Directory /srv/www/rhombus2/static>
        Require all granted
    </Directory>

    <Directory /srv/www/rhombus2/media>
        Require all granted
    </Directory>


</VirtualHost>

如您所见,没有介质或静态别名。在

我的网址.py在

^{pr2}$

这怎么可能?在

编辑:我做了你在下面描述的改变,但现在我得到了一个wierd态度:)我没有得到任何媒体或静态服务(403错误),第一次点击任何链接或地址栏给我一个400错误,第二次正常打开网页。在

在错误.log在

[Tue May 20 10:12:56.049081 2014] [authz_core:error] [pid 1360:tid 140612925908736] [client 127.0.0.1:48360] AH01630: client denied by server configuration: /serv, referer: http://www.myrhombus.com/accounts/login/

我在访问网站时收到了一个错误的请求(400)。如果我再次点击它会正常打开网站,但我仍然会在我的错误.log. 在


Tags: 文件pycomapachewww错误静态require
1条回答
网友
1楼 · 发布于 2024-10-02 00:33:40

这是因为您特别添加了一些django媒体服务URL模式。你关心是对的!在

+static(settings.MEDIA_URL, document_root = settings.MEDIA_ROOT)

您正在通过python在MEDIA_URLMEDIA_ROOT提供服务;除非在开发过程中,否则不建议使用。在

您应该在if settings.DEBUG = True语句中包装该加法。在

^{pr2}$

相关问题 更多 >

    热门问题