Django未加载静态CSS文件

时间:2018-11-29 21:09:18

标签: python django django-staticfiles

我在这个站点以及其他站点上都四处张望,但仍然找不到能解决Django无法加载我的CSS文件的解决方案

我的settings.py文件:

STATIC_URL = '/static/'
STATICFILES_DIR = [
    os.path.join(BASE_DIR, "static"),
]

在我的html文件中:

{% load static %}
<link rel="stylesheet" href="{% static '/css/my_style.css' %}">

我的文件树:

todo_app
    static
    todo_app
    todo_list
    db.sqlite3
    manage.py

INSTALLED_APPS = [
    'django.contrib.admin',
    'django.contrib.auth',
    'django.contrib.contenttypes',
    'django.contrib.sessions',
    'django.contrib.messages',
    'django.contrib.staticfiles',
    'todo_list',
]

任何帮助将不胜感激。我尝试使用STATIC_ROOT,如在其他线程上所示,但是没有任何变化。

7 个答案:

答案 0 :(得分:3)

同一期, 尝试了Crazy Solutions 1小时,

发现问题:浏览器访问css模板,需要手动清除以查看更新的CSS视图。

简单重启python manage.py runserver

chrome隐身模式打开模板即可解决此问题。

答案 1 :(得分:1)

settings.py

# ....
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',
            ],
        },
    },
]

# ....

STATIC_URL = '/static/'
MEDIA_URL = '/media/'

STATICFILES_DIRS = [
    os.path.join(BASE_DIR, 'static')
]

STATIC_ROOT = os.path.join(BASE_DIR, 'static_root')
MEDIA_ROOT = os.path.join(BASE_DIR, 'media')

urls.py

from django.urls import path, include
from django.conf import settings
from django.conf.urls.static import static


# ......


urlpatterns += static(settings.STATIC_URL, document_root=settings.STATIC_ROOT)
urlpatterns += static(settings.MEDIA_URL, document_root=settings.MEDIA_ROOT)

答案 2 :(得分:1)

嗨,我遇到了同样的问题,就我而言,我通过硬刷新解决了。

  1. 使用 CTRL+C 停止服务器
  2. 更新您的 CSS 或加载您的 CSS。
  3. 使用 python manage.py runserver 启动服务器
  4. 如果您使用的是 Chrome,请点击 CTRL + F5 进行硬刷新。

答案 3 :(得分:0)

我有这个确切的问题。手动重启服务器将其修复。在运行服务器的终端中使用:

.MODEL .STACK 100H .DATA STR DB 'Enter letters:$' .CODE MAIN PROC MOV AX, @DATA MOV DS, AX LEA DX, STR MOV AH, 9 INT 21H cycle: MOV AH, 1 INT 21H CMP AL, '*' JZ output CMP AL, 'Z' JA save head: CMP BL, 1 JZ save MOV BL, 1 MOV BH, AL clear: XOR AL, AL save: MOV CH, AL LOOP cycle output: MOV AH, 2 MOV DL, BH INT 21H MOV AH, 2 MOV DL, CH INT 21H MAIN ENDP END MAIN


Ctrl-c


答案 4 :(得分:0)

在settings.py中添加以下内容

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

还要从href中删除斜杠“ /”,它应为“ {%static'css / my_style.css'%}”

答案 5 :(得分:0)

我也遇到这个问题。我再次重新启动服务器,它已修复。我被困在这里。但是这样做之后,效果很好。

> ctrl-c
> python3 manage.py runserver

答案 6 :(得分:-1)

{% load static %} <link rel="stylesheet" href="{% static 'css/my_style.css' %}">

删除斜杠'/'