要清楚,调试工具栏会出现。我的问题是,当我启用调试工具栏时,我的所有javascript和css文件都无法加载。
我的网页丢失了所有格式,但仍然加载了内容。我正在使用chrome,它在控制台下面打印出这样的东西:
无法加载资源:服务器响应状态为404(未找到) http://127.0.0.1:8000/static/stylesheets/loggedin.css?h=201e99无法加载资源:服务器响应状态为404(未找到) http://127.0.0.1:8000/static/stylesheets/estimates.tabs.css?h=64c8f9无法加载资源:服务器响应状态为404(未找到) http://127.0.0.1:8000/static/js/jquery.console-log.js无法加载资源:服务器响应状态为404(未找到) http://127.0.0.1:8000/static/theme/jquery-ui.custom.css无法加载资源:服务器响应状态为404(未找到) http://127.0.0.1:8000/static/js/jquery-ui-timepicker-addon.js?h=7e5e4a无法加载资源:服务器响应状态为404(未找到) http://127.0.0.1:8000/static/js/jquery.if.min.js?h=e69918无法加载资源:服务器响应状态为404(未找到) http://127.0.0.1:8000/static/js/base.js?h=4b783f无法加载资源:服务器响应状态为404(未找到) http://127.0.0.1:8000/static/stylesheets/estimates.summary.show.css?h=0dd5d5无法加载资源:服务器响应状态为404(未找到) http://127.0.0.1:8000/static/js/jquery.floatThead.min.js?h=7f4ca5无法加载资源:服务器响应状态为404(未找到) http://127.0.0.1:8000/static/stylesheets/reset.css?h=fbd5ac无法加载资源:服务器响应状态为404(未找到) http://127.0.0.1:8000/static/js/estimates.section.sortable.js?h=2ea052无法加载资源:服务器响应状态为404(未找到) http://127.0.0.1:8000/static/stylesheets/loggedin.css?h=201e99无法加载资源:服务器响应状态为404(未找到) http://127.0.0.1:8000/static/stylesheets/estimates.tabs.css?h=64c8f9无法加载资源:服务器响应状态为404(未找到) http://127.0.0.1:8000/static/stylesheets/estimates.summary.show.css?h=0dd5d5无法加载资源:服务器响应状态为404(未找到) http://127.0.0.1:8000/static/stylesheets/reset.css?h=fbd5ac无法加载资源:服务器响应状态为404(未找到) http://127.0.0.1:8000/static/stylesheets/base.css?h=fcefb2无法加载资源:服务器响应状态为404(未找到) http://127.0.0.1:8000/static/theme/jquery-ui.custom.css无法加载资源:服务器响应状态为404(未找到)
我使用的是debug_toolbar 1.3.2,django1.5.0和python 2.7.6
我的项目结构有
project_dir
project
settings
settings.py
static
images
js
scss
stylesheets
在我的设置文件中:
DEBUG = True
DEBUG_TOOLBAR = True
#....middleware
#....other Installed apps
cd_up = lambda x: os.path.split(x)[0]
SETTINGS_DIR = dirname(os.path.abspath(__file__))
APP_DIR = cd_up(SETTINGS_DIR)
PROJ_DIR = cd_up(APP_DIR)
MEDIA_ROOT = '/tmp'
MEDIA_URL = ''
STATIC_URL = '/static/'
STATIC_ROOT = '{}/static/'.format(APP_DIR)
if DEBUG_TOOLBAR:
INSTALLED_APPS += ('django.contrib.staticfiles','debug_toolbar',)
MIDDLEWARE_CLASSES += debug_toolbar.middleware.DebugToolbarMiddleware',)
INTERNAL_IPS = ('127.0.0.1',)
DEBUG_TOOLBAR_PANELS = (
#'debug_toolbar.panels.version.VersionDebugPanel',
#'debug_toolbar.panels.timer.TimerDebugPanel',
#'debug_toolbar.panels.settings_vars.SettingsVarsDebugPanel',
#'debug_toolbar.panels.headers.HeaderDebugPanel',
#'debug_toolbar.panels.request_vars.RequestVarsDebugPanel',
#'debug_toolbar.panels.template.TemplateDebugPanel',
'debug_toolbar.panels.sql.SQLDebugPanel',
#'debug_toolbar.panels.signals.SignalDebugPanel',
#'debug_toolbar.panels.logger.LoggingPanel',
)
当然,我无法发送任何ajax请求并将DEBUG_TOOLBAR设置为false可以解决所有问题。
这是精简版,但如果需要任何其他信息,我会更新。对不起,我还是新来的SO。感谢
更新: 运行./manage.py runserver --insecure
时会出现404错误否则资源将失败并显示net :: ERR_NETWORK_CONNECTION_RESET
消息答案 0 :(得分:1)
我认为这是在您使用虚拟环境时发生的。问题是在那里安装了Django软件包,项目无法访问文件。您可以通过在控制台中运行(基于python版本) python3 manage.py collectstatic 来解决此问题。这就是我最终解决此问题的方法。希望对您有帮助
答案 1 :(得分:0)
我不确定发生了什么,但这里有几点需要检查:
当DEBUG_TOOLBAR为false时,INSTALLED_APPS中的django.contrib.staticfiles
是?如果已添加,则此行
INSTALLED_APPS + =('django.contrib.staticfiles','debug_toolbar',)
会导致重复的应用名称。它不应该导致任何问题,但您可以尝试删除副本。
您确定DEBUG设置为True吗?当DEBUG为False时,开发服务器拒绝提供静态文件(CONNECTION RESET?),如果添加--insecure选项,它将提供静态文件。这就像你描述的那样。
您是否覆盖了urls.py中“/ static /”的网址映射?
您是否在虚拟机中启动此服务器?如果是这样,您可以尝试使用以下命令启动服务器:
python manage.py runserver 0.0.0.0:8000
并将虚拟机的IP地址添加到INTERNAL_IP。