-1

我有一个像这样的 Django 项目结构

 Project
    app
    media
    static
      style.css 
    templates
      base.html

并在设置中

    PROJECT_ROOT = os.path.join(os.path.dirname(__file__), '..') 
    SITE_ROOT = PROJECT_ROOT
    STATIC_ROOT = os.path.join(SITE_ROOT, 'static')

    STATIC_URL = '/static/'

    STATICFILES_DIRS = (
        os.path.join(SITE_ROOT,'static')
      )

     STATICFILES_FINDERS = (
        'django.contrib.staticfiles.finders.FileSystemFinder',
         'django.contrib.staticfiles.finders.AppDirectoriesFinder',
     )

并在 base.html 中引用 css 文件:

  <link href="{{STATIC_URL}}/style.css" rel="stylesheet" type="text/css" />

它给出了一个错误:

 "The STATICFILES_DIRS setting should "
 ImproperlyConfigured: The STATICFILES_DIRS setting should not contain the STATIC_ROOT setting

浏览器以 no-css 样式显示 html 文件,可能是什么问题?

4

1 回答 1

1

这条线应该是罪魁祸首:

<link href="{{STATIC_URL}}/style.css" rel="stylesheet" type="text/css" />

删除 {{STATIC_URL}} 之后的尾部斜杠

你应该说

<link href="{{STATIC_URL}}style.css" rel="stylesheet" type="text/css" />

您能否确保 STATICFILES_DIRS 引用您的static目录。

from django.conf import settings
print settings.STATICFILES_DIRS
于 2013-04-28T14:11:49.587 回答