请执行下列操作:
如果您处于调试状态,请在settings.py中设置STATICFILES_Dirs =(“ path / to / static”)变量。然后,它 应在调试模式下工作。
如果希望它也可以在部署模式下工作,请在settings.py中设置STATIC_ROOT =(“ path / to / static_root”)变量。然后,执行python manage.py collectstatic,它也应该起作用。
现在,为了更好地了解django如何管理静态文件:
Django有一些预定义的位置来查找静态文件并收集它们,您可以在settings.py中使用STATICFILES_FINDERS指定在哪里找到它们。默认情况下,它会 您的应用程序中查找静态文件夹。您可以通过设置STATICFILES_Dirs变量(路径的列表或元组)来告诉Django在其他部分中查找静态文件。
在调试模式下,将从此路径中选择静态文件(而不是从收集文件的static_root中)。
执行时python manage.py collectstatic,Django会遍历可以找到静态文件的所有目录,并将它们放在您的静态根目录中。在部署模式下运行时,将从此目录提供静态文件。
PS:我通常要做的是创建一个名为common的应用程序,并在其中创建一个静态目录,以放置所有通用CSS,js用于我的项目(以及模板)。这样,我不必指定STATICFILES_Dirs变量。
希望现在清楚=)。
解决方法Django不会提供我的静态文件。这是返回的 错误 :
[13/Jun/2014 06:12:09] 'GET /refund/ HTTP/1.1' 200 2927[13/Jun/2014 06:12:09] 'GET /static/css/bootstrap.min.css HTTP/1.1' 404 1667[13/Jun/2014 06:12:09] 'GET /static/css/cover.css HTTP/1.1' 404 1643[13/Jun/2014 06:12:09] 'GET /static/js/bootstrap.min.js HTTP/1.1' 404 1661[13/Jun/2014 06:12:09] 'GET /static/assets/js/docs.min.js HTTP/1.1' 404 1667 [13/Jun/2014 06:12:09] 'GET /static/js/bootstrap.min.js HTTP/1.1' 404 1661[13/Jun/2014 06:12:09] 'GET /static/assets/js/docs.min.js HTTP/1.1' 404 1667
这是我的 base.html中 有关引导的相关部分:
!DOCTYPE html><html lang='en'>{% load static %}<head><meta charset='utf-8'><meta http-equiv='X-UA-Compatible' content='IE=edge'><meta name='viewport' content='width=device-width,initial-scale=1'><meta name='description' content=''><meta name='author' content=''><link rel='shortcut icon' href='https://www.6hehe.com/assets/ico/favicon.ico'><title>Cover Template for Bootstrap</title><!-- Bootstrap core CSS -->{<link href='https://www.6hehe.com/wenda/{% static 'css/bootstrap.min.css'%}' rel='stylesheet'><!-- Custom styles for this template --><link href='https://www.6hehe.com/wenda/{% static 'css/cover.css' %}' rel='stylesheet'>
来自 settings.py的 相关代码(注意:模板工作正常。)
TEMPLATE_DIRS = ( os.path.join(BASE_DIR,’templates’),)STATIC_URL = ’/static/’STATIC_ROOT = ’’
这是我的django项目的布局方式:
administratorsdb.sqlite3Project namemanage.pyapply nameStaticCSS …dist …模板 base.html任何帮助将不胜感激。我不知道我可能做错了什么,我已经看了一百万遍代码了,很明显,这在我对Django如何提供静态文件的理解上存在一定差距。但是我以前没有做过这个。