django的静态文件配好了。怎么也找不到css文件。请朋友们看看原因。有代码在项目下建了一个 static 的文件夹
django的静态文件配好了。怎么也找不到css文件。请朋友们看看原因。有代码
在项目下建了一个 static 的文件夹 有 static/css static/js static/image
css文件放在 /static/css/info.css
settings.py里的设置:
Python codeMEDIA_ROOT = os.path.join(os.path.dirname(__file__), 'media') MEDIA_URL = '/media/' STATIC_ROOT = '' STATIC_PATH = os.path.join(os.path.dirname(__file__), 'static').replace('\\', '/') STATIC_URL = '/static/' STATICFILES_DIRS = ( os.path.join(os.path.dirname(__file__), 'static').replace('\\', '/'), )
urls.py里的代码:
Python codefrom django.conf import settings if settings.DEBUG: urlpatterns += patterns('', (r'^static/(?P<path>.*)$', 'django.views.static.serve', {'document_root': settings.STATIC_PATH, 'show_indexes':True}), )
我在模板:pro/templates/base.html
这样引用:
Python code<lind rel="stylesheet" type="text/css" href="/static/css/info.css">
然后访问:http://127.0.0.1:8000/info
这个info首页的模板是
pro/info/templates/index.html
这个文件{% extends "base.html" %}
这样的设置哪里还有错呢?
怎么访问就是不起作用。
直接访问http://127.0.0.1:8000/static 也不行。难道是url解板的不行?
请各位朋友看看谢谢了
顺便问一下:
Python codeSTATIC_ROOT STATIC_PATH STATIC_URL STATICFILES_DIRS MEDIA_ROOT MEDIA_URL
这几个都具体代表什么意思?
当然要是能详细解说一下这个settings.py里的各个变量就更好了。
多谢
[解决办法]你需要访问首页的url都没有设置,怎么会响应嘛
[解决办法]查看源代码 ,然后 点击 那个CSS的文件,看看出现什么错误, 是404 还是说 没有相应的url解析 或者是 权限问题。
第一种情况 就是代码里路径没有写正确。
第二种情况 就是1楼说的, URL 设置问题
第三种情况就是你 文件权限的问题。(如果是用 ./manager runserver 启动服务器 不太可能会是这种情况)
STATIC_ROOT
STATIC_PATH
STATIC_URL
STATICFILES_DIRS
MEDIA_ROOT
MEDIA_URL
这个解释起来 要半天了, 网络上有很详细的解释!
[解决办法]1. STATIC_ROOT = ''
修改为:
STATIC_ROOT = os.path.join(os.path.dirname(__file__), 'static')
再试一下。
2. 尝试把css文件放到media目录下
[解决办法]服务器用的是apache?
如果是的话,需要再httpd.conf中加入配置
Alias /admin_media /usr/lib/python2.4/site-packages/django/contrib/admin/media
<Directory "/usr/lib/python2.4/site-packages/django/contrib/admin/media/">
AllowOverride None
Options None
Order allow,deny
Allow from all
</Directory>