我知道这个问题已被多次询问,但这些解决方案似乎都不适用于我。我刚开始使用django,我在尝试获取管理面板的CSS时遇到问题,以便在使用runserver时显示。
当我进入时:localhost:8000/admin/
没有任何CSS显示
<link rel="stylesheet" type="text/css" href="/static/admin/css/base.css" />
<link rel="stylesheet" type="text/css" href="/static/admin/css/dashboard.css" />
这就是管理页面的HTML中显示的内容,它链接到的那些网址最终成为http://localhost:8000/static/admin/css/base.css
,不会链接到任何内容。
在 settings.py 我有
TEMPLATE_CONTEXT_PROCESSORS = (
'django.core.context_processors.debug',
'django.core.context_processors.i18n',
'django.core.context_processors.media',
'django.core.context_processors.static',
'django.contrib.auth.context_processors.auth',
'django.contrib.messages.context_processors.messages',
)
INSTALLED_APPS = (
'django.contrib.auth',
'django.contrib.contenttypes',
'django.contrib.sessions',
'django.contrib.sites',
'django.contrib.messages',
'django.contrib.staticfiles',
'codeapp',
'django.contrib.admin',
'django.contrib.admindocs',
)
STATIC_ROOT = '/Users/datboitom/Sites/Codebase/codebase/codeapp/static/'
STATIC_URL = '/static/'
我不太确定还能做什么。如果可以帮助我解决这个问题,那就太好了。我已经运行python manage.py collectstatic
,静态文件位于/Users/datboitom/Sites/Codebase/codebase/codeapp/static/
文件夹中。这些文件和尝试加载的文件之间似乎没有任何关联。一种是尝试加载localhost url而不是它在计算机上的位置路径。
答案 0 :(得分:2)
以防有人再次遇到此错误。在Debug = False模式下,Django不再为您提供静态文件。您的生产服务器应该处理这个问题。但是,如果您仍想在debug = false中本地测试您的应用程序,则应该以不安全模式运行devserver:
manage.py runserver --insecure
从这里采取:Why does DEBUG=False setting make my django Static Files Access fail?
答案 1 :(得分:0)
您的设置与服务器有什么关系?
根据文档,您不应在STATIC_ROOT
将STATIC_ROOT
留空,然后将路径放在STATICFILES_DIRS
。
希望这有帮助
答案 2 :(得分:0)
我猜你在settings.py文件中缺少以下内容
# List of finder classes that know how to find static files in
# various locations.
STATICFILES_FINDERS = (
'django.contrib.staticfiles.finders.FileSystemFinder',
'django.contrib.staticfiles.finders.AppDirectoriesFinder',
)
答案 3 :(得分:0)
在setting.py中,您应该在INSTALLED_APPS中添加'django.contrib.staticfiles'
代码显示:
INSTALLED_APPS = (
'django.contrib.auth',
'django.contrib.contenttypes',
'django.contrib.sessions',
'django.contrib.staticfiles',
......
好的,试一试。
答案 4 :(得分:0)
我在更改开发机器后最近遇到了这个问题。
原来我的新机器没有设置为在本地调试模式下运行django应用程序,所以添加
DEBUG = True
我的开发机器的settings.py对它进行了排序。