通过 Django 提供静态文件时找不到页面

page not found when serving static files via django

所以在settings.py我有

STATIC_URL = '/static/'

还有

INSTALLED_APPS = [
    'django.contrib.admin',
    'django.contrib.auth',
    'django.contrib.contenttypes',
    'django.contrib.sessions',
    'django.contrib.messages',
    'django.contrib.staticfiles',
    'myapp.apps.MyappConfig'
]

因此你可以看到 django.contrib.staticfiles 在那里,而且 Debug = True

在我的应用程序目录中,我有一个文件存在于此路径中

myapp/static/css/myapp.css

然而,当我去http://localhost/myapp/static/css/myapp.css

它最终返回

Page not found (404)
Request Method:     GET

我哪里做错了,我怎样才能让 django 正确地提供静态文件?

将此包含在您的 project/urls.py

from django.conf import settings

urlpatterns += static(settings.STATIC_URL, document_root=settings.STATIC_ROOT)

在您的设置中使用选项 STATICFILES_DIRS

一个例子:

# settings.py
...
STATICFILES_DIRS = [
    "/path/to/your/static/files/folder",
]
...

在您的模板中,使用像

这样的静态模板标签
# some_page.html
...
{% load static %}
<img src="{% static "my_app/example.jpg" %}" alt="My image"/>
...

或hard-code喜欢

# some_page.html
...
<img src="/static/my_app/example.jpg" alt="My image"/>
...