提问者:小点点

在Django中将CSS(和一般的静态文件)链接到html


我的html文件没有读取我的css文件--我已经尝试搜索了关于这个问题的所有相关问题,但仍然无法获得要读取的css文件。以下是我的资料:

设置.py

import os
import os.path

BASE_DIR = os.path.dirname(os.path.dirname(os.path.abspath(__file__)))
...
INSTALLED_APPS = [
'django.contrib.admin',
'django.contrib.auth',
'django.contrib.contenttypes',
'django.contrib.sessions',
'django.contrib.messages',
'django.contrib.staticfiles',
]
...
STATIC_URL = '/static/'

STATIC_ROOT = os.path.join(BASE_DIR, "form/static")
)

index.html开头

{% load staticfiles %}
<!DOCTYPE html>
<html leng="en">
    <head>
        <title>Test</title>

        <link rel="stylesheet" 
       href="//maxcdn.bootstrapcdn.com/bootstrap/3.2.0/css/bootstrap.min.css">
        <link rel="stylesheet" 
       href="//maxcdn.bootstrapcdn.com/bootstrap/3.2.0/css/bootstrap-
        theme.min.css">
        <link rel="stylesheet" href="{% static 'css/main.css' %}" />
        </head>

我的“static”和“templates”文件夹在同一层,main.css在static/css/main.css

编辑:如果有帮助的话,我的引导链接可以被识别,只有main.css不能。

更新:从settings.py中删除了STATICFILES_DIRS,并添加了STATIC_ROOT=os.path.join(BASE_DIR,“form/static”)。

我的文件结构:

app
  app
  - settings.py
  form
  - static
    - css
      - main.css
  - templates
    - form
      - index.html

共1个答案

匿名用户

尝试运行python manage.py collectstatic。这将从staticfiles_dirs中收集静态文件,并将它们放入static_root中,staticfiles应用程序将在其中查找这些文件来为它们服务。

如果您的Django应用程序运行在另一个服务器后面,比如nginx、apache、uwsgi或gunicorn,服务器的配置也可以改变文件的服务方式。有关更多信息,请参阅Django的管理静态文件文档。

相关问题