为什么我在 Django 中遇到 CSS 加载错误,只是路径名有细微差别?

How come I'm getting a CSS loading error in Django with just a minor difference in path name?

为了简单介绍一下这个问题的背景,我建立了一个简单的票务系统。我用于 Django 的版本是 3.0.7,而 Python 是 3.7。我使用 bootstrap 作为我的 header 和脆皮表格来设计表格。另外,如果可能有帮助,我使用了 all-auth。我将静态配置放在 settings.py 中以确保 Django 在目录中找到它:

STATIC_URL = '/static/'

STATICFILES_DIRS = [os.path.join(BASE_DIR, 'static')]

STATIC_ROOT = os.path.join(BASE_DIR, 'staticfiles')

STATICFILES_FINDERS = [
    "django.contrib.staticfiles.finders.FileSystemFinder",
    "django.contrib.staticfiles.finders.AppDirectoriesFinder",
]

然后在我的模板中加载以下内容:

{% extends '_base.html' %}
{% load crispy_forms_tags %}

这将正确加载页面。我没有遇到任何问题。现在这是我发现一个有趣情况的地方。当我在 urls.py:

中使用此路径编辑表单时
path('edit/ticket/<int:pk>', ticketEditView, name='edit_ticket'),

包含所有详细信息的页面已加载,但 CSS 未正确加载。弹出'"GET /edit/static/css/_base.css HTTP/1.1" 404 3229"'错误。

当我用下面的路径替换路径时,一切似乎都正常工作。

path('edit/<int:pk>', ticketEditView, name='edit_ticket'),

我想知道urls.py中路径的区别。为什么它会这样反应。

您是否忘记将标签 {% load static %} 放入相应的模板中?