- 问题:**我对CSS文件所做的任何更改都没有应用到HTML页面。当我尝试创建新的HTML/CSS文件时,我在开发人员模式下检查页面时收到错误。错误显示找不到我的CSS文件。
在开发人员模式下检查页面时出现确切错误GET http://127.0.0.1:8000/static/css/other.css net::ERR_ABORTED 404 (Not Found)
- 背景:**我正在创建一个基本的图片编辑网站,使用django,html/css,并注入JS来应用一些过滤器到图片上。以前我可以做一些修改,它们会反映在页面上,但现在我甚至可以删除我的css文件,它仍然使用旧版本。
- 我尝试过的事**
1.进入设置清除浏览器缓存
1.已禁用开发人员模式下的缓存
1.附加css文件版本?v1.1以强制休息(导致上述404错误)
1.在终端中运行collectstatic
1.已清除在私有窗口中打开网站的缓存
1.看了几个youtube的视频设置静态文件目录,我认为它是正确的。在某个时候,我的css是加载和更新,因为我作出了改变。
- 目录布局**
这些是我的设置
- 设置. py**
BASE_DIR = Path(__file__).resolve().parent.parent
DEBUG = True
INSTALLED_APPS = [
'django.contrib.admin',
'django.contrib.auth',
'django.contrib.contenttypes',
'django.contrib.sessions',
'django.contrib.messages',
'django.contrib.staticfiles',
'Image_API',
'rest_framework',
]
MIDDLEWARE = [
'django.middleware.security.SecurityMiddleware',
'django.contrib.sessions.middleware.SessionMiddleware',
'django.middleware.common.CommonMiddleware',
'django.middleware.csrf.CsrfViewMiddleware',
'django.contrib.auth.middleware.AuthenticationMiddleware',
'django.contrib.messages.middleware.MessageMiddleware',
'django.middleware.clickjacking.XFrameOptionsMiddleware',
]
ROOT_URLCONF = 'Image_API.urls'
TEMPLATES = [
{
'BACKEND': 'django.template.backends.django.DjangoTemplates',
'DIRS': [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',
],
},
},
]
MEDIA_URL = '/media/'
MEDIA_ROOT = os.path.join(BASE_DIR,'media')
STATIC_URL = 'static/'
STATICFILES_DIRS = [
os.path.join(BASE_DIR, '../static'),
]
STATIC_ROOT = os.path.join(os.path.dirname(BASE_DIR), '../static')
- URL. py文件**
from django.contrib import admin
from django.urls import path
from Image_API import views
from django.conf import settings
from django.conf.urls.static import static
from django.contrib.staticfiles.urls import staticfiles_urlpatterns
urlpatterns = [
path('',views.upload2, name='upload'),
path('upload/', views.upload2, name='upload'),
path('other/', views.other),
]
if settings.DEBUG:
urlpatterns += static(settings.STATIC_URL, document_root =settings.STATIC_ROOT)
urlpatterns += static(settings.MEDIA_URL, document_root=settings.MEDIA_ROOT)
urlpatterns += staticfiles_urlpatterns()
- HMTL文件如何引用css**
我在页面的顶部加载了static,并在header标记中链接到css。
{% load static %}
<link rel="stylesheet" type="text/css" href="{% static '/css/style.css' %}">
2条答案
按热度按时间bt1cpqcv1#
问题可能来自
STATIC_URL
设置和/或STATIC_ROOT
。请尝试将其更改为:您可能还需要检查**
urls.py
**文件是否设置正确:在进行这些更改后重新启动服务器以进行确认。
ps:
collect static
在部署期间运行vtwuwzda2#
您可能忽略并更新了/staticfiles/css/中的CSS。相反,请尝试在/media/css中更新它。staticfiles目录是在您运行python www.example.com collectstatic时自动生成manage.py的。您可以尝试删除staticfiles目录并运行python manage.py collectstatic,看看它是否修复了该问题。