你好我有一个我无法解决的问题。现在我有一个简单的 django 项目,我即将完成。几天前,我将我的静态文件和媒体文件上传到谷歌云 sql-bucket。通常,媒体文件一切正常,但当我上传静态文件时,事情开始发生。这里有一些错误消息(30+):
Access to script at 'https://storage.googleapis.com/blablabla/debug_toolbar/js/toolbar.js' from origin 'http://127.0.0.1:8000' has been blocked by CORS policy: No 'Access-Control-Allow-Origin' header is present on the requested resource.
GET https://storage.googleapis.com/blablabla/debug_toolbar/js/toolbar.js net::ERR_FAILED
Access to font at 'https://storage.googleapis.com/blablabla/Fonts/jost/Jost-500-Medium.woff2' from origin 'http://127.0.0.1:8000' has been blocked by CORS policy: No 'Access-Control-Allow-Origin' header is present on the requested resource.
通常 django 也不接受我的静态文件,因为它们在其他地方,但我加载了 django-cors-headers (我不知道它是全名。)并且 django 接受大多数 css 文档。这是我的 settings.py (我在粘贴时剪切了一些部分):
ALLOWED_HOSTS = ['*']
INSTALLED_APPS = [
'honeypot',
'ckeditor',
'ckeditor_uploader',
'modeltranslation',
'django.contrib.admin',
'django.contrib.auth',
'django.contrib.contenttypes',
'django.contrib.sessions',
'django.contrib.messages',
'django.contrib.staticfiles',
'corsheaders',
'Product.apps.ProductConfig',
'captcha',
'admin_honeypot',
]
MIDDLEWARE = [
'django.middleware.security.SecurityMiddleware',
'django.contrib.sessions.middleware.SessionMiddleware',
'corsheaders.middleware.CorsMiddleware',
'django.middleware.locale.LocaleMiddleware',
'django.middleware.common.CommonMiddleware',
'django.middleware.csrf.CsrfViewMiddleware',
'corsheaders.middleware.CorsPostCsrfMiddleware',
'django.contrib.auth.middleware.AuthenticationMiddleware',
'django.contrib.messages.middleware.MessageMiddleware',
'django.middleware.clickjacking.XFrameOptionsMiddleware',
]
CORS_ALLOW_CREDENTIALS = True
CORS_ALLOWED_ORIGINS = (
'http://127.0.0.1:8000',
'http://localhost:8000',
'https://storage.googleapis.com',
'https://googleapis.com',
)
CSRF_TRUSTED_ORIGINS = [
'http://127.0.0.1:8000',
'http://localhost:8000',
'https://storage.googleapis.com',
'https://googleapis.com',
]
但我的问题从这里开始。例如,我有 4 个 css,例如在我的第一个 css(theme.css) 中有这样的行:
@font-face {
font-family: "Jost";
font-weight: 600;
src: url(https://storage.googleapis.com/blablabla/Fonts/jost/Jost-600-Semi.woff2) format("woff2"), url(https://storage.googleapis.com/blablabla/Fonts/jost/Jost-600-Semi.woff) format("woff"), url(https://storage.googleapis.com/blablabla/Fonts/jost/Jost-600-Semi.ttf) format("truetype"); }
或在调试工具栏文档中的toolbar.js
import { $$, ajax } from "./utils.js";
此外,我所有的 css 和字体文件都在同一个谷歌存储桶中。我的网站接受 css 文档,但不接受像我粘贴的内部引用。而且我不知道错误在哪里。我到处搜索,但找不到任何解决方案。我希望有一个人可以帮助我。而且我认为这个错误不是因为 django,它可能是因为 google