我试图从静态文件夹中提供一些文件,以便在我的一个模板中运行的js脚本可以需要它。不幸的是,它似乎在选择提供哪些文件。(或其他)它没有为我的js文件提供服务,破坏了我的应用程序
另一个问题是,有时favicon在缓存第一个请求之前就丢失了。我以前注意到,在这个应用程序的部署版本中,我必须在第一次加载后刷新页面。这是当前开发版本中第一个请求的输出:
以下是第一个请求的输出:
(python terminal output from the first request)
[12/Dec/2020 07:05:49] "GET /requestmap/ HTTP/1.1" 200 399
[12/Dec/2020 07:05:49] "GET /static/dbapi/js/main.js HTTP/1.1" 404 1788
Not Found: /favicon.ico
[12/Dec/2020 07:05:49] "GET /favicon.ico HTTP/1.1" 404 5553
(python console output from the first request)
http://localhost:8000/static/dbapi/js/main.js net::ERR_ABORTED 404 (Not Found)
…刷新后:
(python terminal output from the second request)
[12/Dec/2020 07:11:28] "GET /requestmap/ HTTP/1.1" 200 399
[12/Dec/2020 07:11:28] "GET /static/dbapi/js/main.js HTTP/1.1" 404 1788
(chrome console log from the second request):
GET http://localhost:8000/static/dbapi/js/main.js net::ERR_ABORTED 404 (Not Found)
当我进入管理页面时,所有CSS和图像似乎都可以正常加载,但是我尝试从静态文件夹访问的任何文件都会返回404——包括/static/dbapi/js/main.js。(显示在输出消息中)
我注意到我的静态目录有一个rest_framework目录,它似乎就是从那里加载静态文件的,但是如果这就是它现在正在做的事情,(我不记得如何检查),这对我来说没有任何意义,因为我已经在settings.py:static_URL='/static/'中定义了静态
settings.py:
import os
from pathlib import Path
BASE_DIR = Path(__file__).resolve().parent.parent
SECRET_KEY = 'gqi&yz3fmq(r-ode(=wd*ey+z0nojx7yrb^v&%6^5sf+(077_m'
DEBUG = True
ALLOWED_HOSTS = ['localhost', '127.0.0.1']
INSTALLED_APPS = [
'django.contrib.admin',
'django.contrib.auth',
'django.contrib.contenttypes',
'django.contrib.sessions',
'django.contrib.messages',
'django.contrib.staticfiles',
'rest_framework',
'coordinates',
]
REST_FRAMEWORK = {
'DEFAULT_PAGINATION_CLASS': 'rest_framework.pagination.PageNumberPagination',
'PAGE_SIZE': 10
}
MIDDLEWARE = [
'django.middleware.common.CommonMiddleware',
'django.middleware.security.SecurityMiddleware',
'django.contrib.sessions.middleware.SessionMiddleware',
'django.middleware.common.CommonMiddleware',
'django.contrib.auth.middleware.AuthenticationMiddleware',
'django.contrib.messages.middleware.MessageMiddleware',
'django.middleware.clickjacking.XFrameOptionsMiddleware',
]
ROOT_URLCONF = 'dbapi.urls'
TEMPLATES = [
{
'BACKEND': 'django.template.backends.django.DjangoTemplates',
'DIRS': [],
'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': BASE_DIR / 'db.sqlite3',
}
}
AUTH_PASSWORD_VALIDATORS = [
{
'NAME': 'django.contrib.auth.password_validation.UserAttributeSimilarityValidator',
},
{
'NAME': 'django.contrib.auth.password_validation.MinimumLengthValidator',
},
{
'NAME': 'django.contrib.auth.password_validation.CommonPasswordValidator',
},
{
'NAME': 'django.contrib.auth.password_validation.NumericPasswordValidator',
},
]
LANGUAGE_CODE = 'en-us'
TIME_ZONE = 'UTC'
USE_I18N = True
USE_L10N = True
USE_TZ = True
STATIC_URL = '/static/'
目录结构为:dbapi/static/js/main.js
这里可能有不止一个问题,但我似乎无法解决。它似乎一半是提供文件,一半不是,但我不知道它是否有用。非常感谢您的帮助
这说明您的静态文件在模板中被错误放置或引用
应该是:
确保在您的模板中引用它为:
你应该把你的js文件放进去
yourappname
文件夹->static
文件夹>yourappname
文件夹->js
文件夹->;main.js相关问题 更多 >
编程相关推荐