Django和Python,MacOS,PyCharm的最新版本
我无法安装任何应用程序。每次尝试,它都找不到资源。目前,我正在尝试在Django应用中安装未捕获的文件。
我的应用程序的名称为RealEstate。
静态部署目录:project_name / app_name / static /
我用于将新文件或经修订的文件复制到具有collectstatic的Deployment Directory的目录: project_name / app_name / static_changes /
在static里面,我有一个带有不同子文件夹的admin文件夹: 静态/ admin / css,静态/ admin /字体,静态/ admin / img,静态/ admin / js,静态/ admin / 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',
]
我已经运行了未捕获的安装程序,该安装程序创建了一个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 / node_modules移至目录结构的每个部分并对其运行collectstatic,但该应用程序仍然找不到资源。
请帮助。为什么我尝试安装的任何应用程序都看不到资源,即使它们存在于project_name / app_name / static / admin中,并且我使用collectstatic还是可以找到它?
答案 0 :(得分:0)
确保base.html中的URL正确,例如:
<script src="{% static "admin/node_modules/uncaught/lib/index.js" %}"></script>
答案 1 :(得分:0)
在 macOS 中,我遵循了以下步骤:
https://docs.djangoproject.com/en/3.1/howto/static-files/
就这样结束了:
settings.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' %}">