出于某种原因,Django没有提供我的静态文件。
我已经研究了很多解决这个问题的方法,但是我仍然没有找到解决方法。
以下是我的配置:
网址.py
urlpatterns = patterns('',
(r'^$', index),
(r'^ajax/$', ajax),
(r'^static/(?P<path>.*)$', 'django.views.static.serve', {'document_root': path.join(path.dirname(__file__), 'static')}),
)
设置.py
STATIC_ROOT = '/home/aurora/Code/django/test/static/'
STATIC_URL = '/static/'
INSTALLED_APPS = (
'django.contrib.auth',
'django.contrib.contenttypes',
'django.contrib.sessions',
'django.contrib.sites',
'django.contrib.messages',
'django.contrib.staticfiles',
# Uncomment the next line to enable the admin:
# 'django.contrib.admin',
# Uncomment the next line to enable admin documentation:
# 'django.contrib.admindocs',
)
当我导航到
http://localhost:8000/static/css/default.css
我得到这个错误:
'css/default.css' could not be found
当我导航到
http://localhost:8000/static/
我得到这个错误:
Directory indexes are not allowed here.
看起来静态目录正在映射,但是子目录没有映射。
最佳答案
我认为您不需要在urls.py中使用静态路径,删除它,它就可以工作了。
目前是这样的
urlpatterns = patterns('',
(r'^$', index),
(r'^ajax/$', ajax),
(r'^static/(?P<path>.*)$', 'django.views.static.serve', {'document_root': path.join(path.dirname(__file__), 'static')}),
)
只需删除r'^静态行
urlpatterns = patterns('',
(r'^$', index),
(r'^ajax/$', ajax),
)
至少在Django 1.3及更高版本中是这样做的。
关于python - django静态文件不起作用,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/12042202/