在最新版本的
Django 5.0.1
中,我在使用 Static 文件夹中包含的 css 和 js 时遇到问题。我已经读过几个类似的问题(小心,它们很旧),我也阅读了 Django 官方文档,但没有一个能够帮助我。
我的代码似乎设置正确,但不起作用。这意味着也许问题出在别的地方,也许与
template
文件夹有冲突(稍后解释)。
静态文件夹位于此路径中
App1/static
。所以我想使用的CSS位于App1/static/css/style.css
。我只需要它用于Development
模式
所以我正在使用:
<link rel="stylesheet" type="text/css" href="{% static 'css/style.css' %}">
问题: 当我打开网页时,CSS 不适用。此外,如果我尝试单击 css 上方的链接,我会收到一个笑话,上面写着
"It was not possible to open 'style.css' %}
并要求我创建文件。将创建的文件的路径将为App1 > templates > {% static 'css > style.css' %}
。为什么在模板中?
我的设置是
索引.HTML 我在 index.html 的开头使用 {% load static %}
我向您展示我尝试的两种解决方案:
尝试 N.1
在settings.py中我使用:
BASE_DIR = Path(__file__).resolve().parent.parent
STATIC_URL = '/static/'
STATICFILES_DIRS = (
os.path.join(BASE_DIR, 'static'),)
在 Installed_Apps 中,除其他外,还有“django.contrib.staticfiles”。
在
TEMPLATES
我有 "DIRS": []
尝试 N.2
在
settings.py
我正在使用:
BASE_DIR = Path(__file__).resolve().parent.parent
STATIC_URL = '/static/'
STATIC_ROOT = os.path.join(BASE_DIR, 'static')
在 Installed_Apps 中,除其他外,还有“django.contrib.staticfiles”
在
TEMPLATES
我有 "DIRS": []
在
Urls.py
我正在使用:
urlpatterns = [
path('', views.index, name='index'),
path('function_comparison/', views.function_comparison,name="function_comparison"),
] + static(settings.STATIC_URL, document_root=settings.STATIC_ROOT)
您需要将App1添加到
INSTALLED_APPS
中的settings.py
::
INSTALLED_APPS = [
... other apps ...
'App1',
]