注:按照教程来做一切顺利,但在使用admin模块时,出现css样式丢失的情况。
经分析其主要原因是admin的media文件夹无访问权限,以及对media文件处理方式问题。
有下面这些需要做的:
setting.py中
MEDIA_ROOT='usr/local/lib/python2.6/site-packages/django/contrib/admin/media' 要写上绝对路径
ADMIN_MEDIA_PREFIX='/media/',注意见后两个斜杠 此项可以换成STATIC_URL = '/media/',需要换是有提示
httpd.conf中要写上:
复制代码 代码如下:
alias /media /usr/local/lib/python2.6/site-packages/django/contrib/admin/media #注意,没有斜杠
<Directory "/usr/local/lib/python2.6/site-packages/django/contrib/admin/media"> #注意使用绝对路径
AllowOverride None
Options None
Order allow,deny
Allow from all
</Directory>
<Location "/media/"> #注意两个斜杠
SetHandler None
</Location>
<LocationMatch ".(jpg|gif|png|txt|ico|pdf|css|jpeg)$">
SetHandler None
</LocationMatch>
按照上面描述进行了配置,只是将:
"/usr/local/lib/python2.6/site-packages/django/contrib/admin/media
修改为:/usr/local/lib/python2.6/site-packages/django/contrib/admin/static 。
因为css,img,js目录存放位置如下:
复制代码 代码如下:
/usr/local/lib/python2.6/site-packages/django/contrib/admin/static/admin
/usr/local/lib/python2.6/site-packages/django/contrib/admin/static/admin/css/
/usr/local/lib/python2.6/site-packages/django/contrib/admin/static/admin/img/
/usr/local/lib/python2.6/site-packages/django/contrib/admin/static/admin/js/
但之前把用到的3个此目录/usr/local/lib/python2.6/site-packages/django/contrib/admin/static/admin作为替换,始终不能正常显示css样式,把后面的/admin删掉,就可以了。