【问题标题】:CSS not working with html file in django, why is it not working?CSS不能在django中使用html文件,为什么它不起作用?
【发布时间】:2020-10-13 18:45:21
【问题描述】:

我的 CSS 文件似乎无法在 Django 中运行,我不知道为什么。我已经尝试了许多不同的方法来让它工作,但它仍然没有工作。我在 HTML 文件的顶部添加了{%load static%},我的 css 文件名为 main.css,它位于名为 static 的文件夹中。我也加了一行

<link rel="stylesheet" type= "text/css" href="{% static 'css/main.css' %}" >

到我的 html 文件。同样在我的 setting.py 文件中,我添加了这一行

STATICFILES_DIR=[
    "/Users/yaminhimani/Desktop/tweetybird/static",
]

为了找到CSS文件。完成所有这些操作后,为什么样式现在仍会出现在我的网站上?

【问题讨论】:

  • django.contrib.staticfiles 是否包含在已安装的应用程序中?也许这个页面会帮助你:docs.djangoproject.com/en/3.0/howto/static-files 此外,STATICFILES_DIRS 似乎适用于多个静态文件夹,而不是绑定到特定的应用程序。虽然您忘记在DIRS 末尾添加S
  • 如何检查 django.contrib.staticfiles 是否包含在已安装的应用程序中?
  • 应该在你的settings.py中:INSTALLED_APPS = [ 'django.contrib.staticfiles', ]

标签: python html css python-3.x django


【解决方案1】:

这可能已经在您的 settings.py 文件中,但值得检查一下:

STATIC_URL = '/static/'

如果这很好,那么它可能是文件夹设置。 Django 文档建议按以下方式嵌套 CSS 文件:

app_name/static/app_name/main.css

【讨论】:

    【解决方案2】:

    检查这种方法,看看它是否可以帮助您。 Django v3

    settings.py

    # Build paths inside the project like this: os.path.join(BASE_DIR, ...)
    BASE_DIR = os.path.dirname(os.path.dirname(os.path.abspath(__file__)))
    
    
    
    TEMPLATES = [
        {
            'BACKEND': 'django.template.backends.django.DjangoTemplates',
            'DIRS': [os.path.join(BASE_DIR, 'templates')],
            'APP_DIRS': True,
            'OPTIONS': {
                'context_processors': [
                    'django.template.context_processors.debug',
                    'django.template.context_processors.request',
                    'django.contrib.auth.context_processors.auth',
                    'django.contrib.messages.context_processors.messages',
                ],
            },
        },
    ]
    
    
    DATABASES = {
        'default': {
            'ENGINE': 'django.db.backends.sqlite3',
            'NAME': os.path.join(BASE_DIR, 'db.sqlite3'),
            }
        }
    
    STATICFILES_DIRS = (os.path.join(BASE_DIR, "static"),)
    
    MEDIA_ROOT = os.path.join(BASE_DIR, 'media')
    
    

    【讨论】:

      猜你喜欢
      • 2019-01-17
      • 1970-01-01
      • 2021-10-28
      • 2017-09-29
      • 2011-12-22
      • 1970-01-01
      • 2013-06-29
      • 1970-01-01
      相关资源
      最近更新 更多