Django任何已安装的应用程序都找不到静态文件


Django和Python、MacOS、PyCharm 的最新版本

我在安装任何应用程序时遇到问题。每次我尝试,它都找不到资源。目前,我正在尝试在我的Django应用程序中安装uncapture。

我的应用程序名为RealEstate。

static的部署目录:project_name/app_name/static/

我使用collectstatic将新文件或修订文件复制到部署目录的目录:项目名称/应用程序名称/静态更改/

在static中,我有一个包含不同子文件夹的管理文件夹:static/admin/css、static/admin/fonts、static/amp/img、static/admin/js、static/amman/node_modules

settings.py:

BASE_DIR = os.path.dirname(os.path.dirname(os.path.abspath(__file__)))
DEBUG = TRUE
STATIC_ROOT = os.path.join(BASE_DIR, 'RealEstate/static')
STATIC_URL = '/static/'
STATICFILES_DIRS = [
os.path.join(BASE_DIR, "RealEstate/static_changes/"),
]
STATICFILES_FINDERS = [
'django.contrib.staticfiles.finders.FileSystemFinder',
'django.contrib.staticfiles.finders.AppDirectoriesFinder',
]

我已经运行了uncauct的安装,它创建了一个package-lock.json文件和一个node_modules文件夹,其中包含未获取的资源,这两个文件都放在我的项目的根目录中:

$ npm install --save uncaught

由于我使用static_changes将任何新的或修改过的资源复制到部署目录static中,因此我已将项目根目录中的node_modules文件夹复制到我的app_name/static_changes/admin文件夹中,并运行collectstatic

python3.7 manage.py collectstatic

它将文件复制到app_name/static。但当我打开浏览器时,文件永远找不到,我在运行控制台中收到以下消息:

Not Found: /admin/node_modules/uncaught/lib/index.js
[26/Feb/2019 22:57:47] "GET /admin/node_modules/uncaught/lib/index.js
HTTP/1.1" 404 14044

我已经尝试将admin/nod_module移动到目录结构的每一部分,并对其运行collectstatic,但应用程序仍然找不到资源。

请帮忙。为什么我尝试安装的任何应用程序都看不到资源,即使它们存在于project_name/app_name/static/admin中,并且我使用collectstatic将其获取到那里?

确保base.html中的URL是正确的,如下所示:

<script src="{% static "admin/node_modules/uncaught/lib/index.js" %}"></script>

在macOS中,我遵循了以下步骤:

https://docs.djangoproject.com/en/3.1/howto/static-files/

结果是这样的:

设置.py

BASE_DIR = Path(__file__).resolve().parent.parent  ---> Didn't touch this specific line
STATIC_URL = '/static/'
STATICFILES_DIRS = [
BASE_DIR / "static"
]

main.html

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

相关内容

  • 没有找到相关文章

最新更新