Apache22不提供django1.8静态文件

时间:2015-08-17 01:08:57

标签: python django apache static django-staticfiles

我一直在努力让Apache22为我的Django1.8应用程序提供静态文件。我得到了 mod_wsgi 来为我的应用程序提供服务;但是,一旦它出现,css和js文件就不存在了。

这是我设置的静态项目:

STATIC_URL = '/static/'

STATIC_ROOT = 'C:/Users/name/Documents/app/DRF/app/static'

STATICFILES_DIRS = (
    ('assets', 'C:/Users/name/Documents/app/DRF/app/public'),
)

这就是我在Apache配置文件中的内容:

<VirtualHost *:80>
    Alias /static​​/assets/ "C:/Users/name/Documents/app/DRF/app/public"
    <Directory  "C:/Users/name/Documents/app/DRF/app/public">
        Order deny,allow
        Allow from all
     </Directory>

     #WSGIScriptAlias...
     #....more
</VirtualHost>

在我的模板中,我有:

{% load staticfiles %}
<link rel="stylesheet" type="text/css" href="{% static "assets/css/style.css" %}"></script>

当我手动转到URL 127.0.0.1/static/assets/css/style.css时,它只提供默认的HTML页面。几乎就好像它找不到该CSS文件的路径所以它再次服务于默认页面。

提前感谢任何帮助。

1 个答案:

答案 0 :(得分:1)

尝试更改:

Alias /static​​/assets/ "C:/Users/name/Documents/app/DRF/app/public"

为:

Alias /static​​/assets/ "C:/Users/name/Documents/app/DRF/app/public/"

如果要添加斜杠,则必须匹配URL和文件路径上的尾部斜杠。

所以,无论是两者还是两者都没有。