使用apache为django 1.5提供admin css

时间:2013-03-11 16:32:32

标签: django apache django-1.5

我是第一次将基于Django 1.5构建的应用程序移动到运行apache的开发服务器上。我有它运行正常,但我有CSS服务的问题。我可以让网站的CSS工作,但不是管理员的CSS或管理员的CSS工作,但不是网站的CSS。

我按照文档进行操作,并使用collectstatic命令将所有静态资源放入STATIC_ROOT文件夹。

这是我设置文件中的相关数据

STATIC_ROOT = '/var/www/projectmanagement/django/static/'

STATIC_URL = '/static/'

STATICFILES_DIRS = (
     '/var/www/projectmanagement/django/projectmanagement/projects/static',
)

这是来自httpd.conf的相关数据

Alias /static/admin/ /var/www/projectmanagement/django/static/admin/
Alias /static /var/www/projectmanagement/django/static/

<Directory /var/www/projectmanagement/django/static/>
Order deny,allow
Allow from all
</Directory>

WSGIScriptAlias / /var/www/projectmanagement/django/projectmanagement/django.wsgi

<Directory /usr/local/wsgi/scripts> 
Order allow,deny
Allow from all
</Directory>

和我的vhost.conf

NameVirtualHost *:80

<VirtualHost *:80>
ServerAdmin webmaster@pmt.com
ServerName pmt.com
ServerAlias www.pmt.com
DocumentRoot /var/www/projectmanagement/html/
ErrorLog /var/www/projectmanagement/logs/error.log
CustomLog /var/www/projectmanagement/logs/access.log combined

WSGIScriptAlias /projectmanagement /var/www/projectmanagement/django/projectmanagement/django.wsgi

<Directory "/var/www/projectmanagement/html">
php_admin_value open_basedir "/var/www/projectmanagement/html/:/tmp/:/var/www/projectmanagement   /django/projectmanagement/"
php_admin_value include_path "/var/www/projectmanagement/html/:/tmp/:/var/www/projectmanagement /django/projectmanagement/"
</Directory>

</VirtualHost>

当我添加行

  AliasMatch /([^/]*\.css) /var/www/projectmanagement/django/static/admin/css/$1

在我的httpd.conf文件中的第一个别名之前,我得到admin css工作但不是网站的css。如果它已经消失,那么网站的css可以运行,但不是管理员的。这让我很难过。

1 个答案:

答案 0 :(得分:0)

添加该别名将捕获所有 .css请求,但只能看起来能够为admin css提供服务。删除它意味着css请求将到达您的WSGIScriptAlias,我认为您已经DEBUG = True ...所以django将为您提供静态媒体。

我不知道为什么django的内置静态服务器不适用于你的admin css - 你设置了STATICFILES_FINDERS吗?

无论如何,你的别名真的应该是这样的,所以它可以提供你所有的静态文件:

  AliasMatch /static/ /var/www/projectmanagement/django/static/