在我的开发环境中,为静态文件(js脚本和css)提供服务时会间歇性地出现故障。在Chrome的error控制台中,我得到了404s。但是如果我刷新这些项目,或者直接访问URL,它们就会被很好地提供。
这很烦人。
示例:
GET http://127.0.0.1:8000/static/js/editor/xyz.js?v=1 404 (NOT FOUND)但是如果我直接访问这个URL就没问题了。如果我刷新页面几次,它就会再次工作。
有什么想法吗?
Chrome 14.0.835.202
Django==1.3
Fabric==1.0.1
Jinja2==2.5.5
PIL==1.1.7
Pygments==1.3.1
South==0.7.3
Sphinx==1.0.5
boto==2.0
chunks==0.1
django-devserver==0.2.1
django-pagination==1.0.7
django-sorting==0.1
django-storages==1.1.3
docutils==0.8
gunicorn==0.12.1
ipython==0.10.1
paramiko==1.7.6
pep8==0.6.1
psycopg2==2.2.2
pycrypto==2.0.1
python-dateutil==1.5
python-memcached==1.45
wsgiref==0.1.2发布于 2012-01-14 07:14:37
开发服务器是单线程的,所以如果有东西一直在等待,它就会阻塞每个请求。
我通常使用django concurent dev server,它是多线程的,并且工作得更好。此外,它非常快速且易于设置;)
发布于 2013-03-06 00:12:56
发布于 2013-06-14 20:52:42
在阅读了所有答案之后,如果仍然有人有这个问题,那么……根据Django的性质,你不需要做任何事情来服务静态文件,只需要你的设置文件有如下正确的配置:
STATIC_URL = '/static/'
STATICFILES_DIRS = (
# **THIS IS USED WHEN YOUR STATIC FILES ARE IN SOME OTHER FOLDER ALSO**
# Put strings here, like "/home/html/static" or "C:/www/django/static".
# Always use forward slashes, even on Windows.
# Don't forget to use absolute paths, not relative paths.
FOLDER_NAME,
)
STATICFILES_FINDERS = (
'django.contrib.staticfiles.finders.FileSystemFinder',
'django.contrib.staticfiles.finders.AppDirectoriesFinder',
'django.contrib.staticfiles.finders.DefaultStorageFinder',
)
INSTALLED_APPS = (
# other apps
'django.contrib.staticfiles',
)但是如果你仍然面临问题,把这个放到你的urls.py中
(r‘^(文件路径)$’,'django.views.static.serve‘,{'document_root':'PROJECT_ROOT_DIR’+“静态文件夹路径”}),
上面的URL将用于静态文件,无论它们是JS文件还是CSS或图像。
在生产服务器的情况下,您不需要这个。
然后运行:python manage.py collecstatic。
希望这能有所帮助。
https://stackoverflow.com/questions/7718110
复制相似问题