css风格在django生产环境中不起作用?

时间:2016-12-14 13:09:45

标签: django apache mod-wsgi django-staticfiles

我是Django的初学者。当我在Apache2.4中使用mod_wsgi托管django应用程序时。我的base.css出了404错误。任何帮助应该被赞赏。

<IfModule mod_alias.c>
Alias /cgi-bin /home/vetconnect/public_html/cgi-bin` 
Alias /static/ /home/vetconnect/djangosites/vetconnect/static/ 
</IfModule> 
<IfModule mod_wsgi.c> 
WSGIScriptAlias / /home/vetconnect/djangosites/vetconnect.wsgi 
WSGIDaemonProcess vetconnect processes=7 threads=1 display-name=%{GROUP} 
WSGIProcessGroup vetconnect WSGIApplicationGroup %{GLOBAL} 
</IfModule>

1 个答案:

答案 0 :(得分:0)

根据官方django documentation来管理静态文件,你可以检查这一点:

django.contrib.staticfiles已包含在您的INSTALLED_APPS

STATIC_URL中定义settings.py,例如STATIC_URL = '/static/'

在模板中使用{% load static %}

您可以定义目录列表STATICFILES_DIRS

STATICFILES_DIRS = [
    os.path.join(BASE_DIR, "static"),
    '/var/www/static/',
]

最后,您需要设置脚本别名,以便Apache将根域的请求传递给wsgi.py文件以及服务器静态和媒体文件。 Here is链接如何使用完整描述执行此操作

<VirtualHost *:80>
    . . .

    Alias /static /home/user/myproject/static
    <Directory /home/user/myproject/static>
        Require all granted
    </Directory>

    <Directory /home/user/myproject/myproject>
        <Files wsgi.py>
            Require all granted
        </Files>
    </Directory>

    WSGIDaemonProcess myproject python-path=/home/user/myproject:/home/user/myproject/myprojectenv/lib/python2.7/site-packages
    WSGIProcessGroup myproject
    WSGIScriptAlias / /home/user/myproject/myproject/wsgi.py

</VirtualHost>