【问题标题】:Django bower, bootstrap, staticfiles doesn't workDjango凉亭,引导程序,静态文件不起作用
【发布时间】:2015-02-04 04:26:03
【问题描述】:

我从 django 模板加载静态文件时遇到问题。

这是我的设置:

INSTALLED_APPS = (                                                                                  
 33     'django.contrib.admin',                                                                         
 34     'django.contrib.auth',                                                                          
 35     'django.contrib.contenttypes',                                                                  
 36     'django.contrib.sessions',                                                                      
 37     'django.contrib.messages',                                                                      
 38     'django.contrib.staticfiles',                                                                   
 39     'chat',                                                                                         
 40     'ws4redis',                                                                                     
 41     'djangobower',                                                                                  
 42 )                                                                                                                                                                                                
 44 MIDDLEWARE_CLASSES = (                                                                              
 45     'django.contrib.sessions.middleware.SessionMiddleware',                                         
 46     'django.middleware.common.CommonMiddleware',                                                    
 47     'django.middleware.csrf.CsrfViewMiddleware',                                                    
 48     'django.contrib.auth.middleware.AuthenticationMiddleware',                                      
 49     'django.contrib.auth.middleware.SessionAuthenticationMiddleware',                               
 50     'django.contrib.messages.middleware.MessageMiddleware',                                         
 51     'django.middleware.clickjacking.XFrameOptionsMiddleware',                                       
 52 )                                                                                                                                                                                                       
 54 ROOT_URLCONF = 'chrum.urls'                                                                         

 68 STATIC_ROOT = os.path.join(BASE_DIR, 'static')                                                      

 70 STATICFILES_FINDERS  = ("django.contrib.staticfiles.finders.FileSystemFinder",                      
 71                         'django.contrib.staticfiles.finders.AppDirectoriesFinder',                  
 72                         'djangobower.finders.BowerFinder',)                                         
 73 STATICFILES_DIRS = (                                                                                
 74     os.path.join(BASE_DIR, "components"),                                                           
 75 )                                                                                                
 77 BOWER_COMPONENTS_ROOT = os.path.join(BASE_DIR, 'static')                                            
 78 BOWER_INSTALLED_APPS = ('bootstrap',)

这是我的模板:

 4 {% load staticfiles %}                                                                              
  5 {% load static from staticfiles %}                                                                  
  6 <script src="{% static 'components/bower_components/jquery/dist/jquery.js' %}"></script>                                                                                                
  7 <script src="{% static 'components/bower_components/bootstrap/dist/js/bootstrap.js' %}"></script>   
  8 <script rel="stylesheet" type="text/css"  src="{% static 'components/bower_components/bootstrap/dist/css/bootstrap.css' %}"></script>

在站点源代码中,我可以看到该链接有效,并且可以读取我的 css 文件。

服务器返回:

[2014 年 12 月 5 日 21:45:52]“GET /static/components/bower_components/jquery/dist/jquery.js HTTP/1.1”304 0 [05/Dec/2014 21:45:52]“GET /static/components/bower_components/bootstrap/dist/js/bootstrap.js HTTP/1.1”304 0 [05/Dec/2014 21:45:52]“GET /static/components/bower_components/bootstrap/dist/css/bootstrap.css HTTP/1.1”304 0

但是那个 css 不起作用,我在浏览器的样式编辑器中看不到它。

ps:如果我在浏览器中手动导入该 css 文件,它就可以工作!

【问题讨论】:

  • 您的网络浏览器(即 Chrome 调试器)说静态文件的资源路径是什么?从那里开始,很可能只是指向错误的路径。
  • 在 mozzila 中什么都没有。在 chromium 中,源选项卡中有导入的文件,但它也不起作用。

标签: html css django twitter-bootstrap bower


【解决方案1】:

您似乎没有在 settings.py 文件中定义 STATIC_URL 变量。在您的设置中添加以下几行:

STATIC_URL = '/static/'

【讨论】:

    【解决方案2】:

    你应该这样使用:

    <script src="{% static 'jquery/dist/jquery.js' %}"></script>
    

    删除components/bower_components/ 前缀。

    【讨论】:

      猜你喜欢
      • 2013-01-05
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2014-09-12
      • 1970-01-01
      • 2016-08-20
      相关资源
      最近更新 更多