我已经阅读了文档,但是仍然无法使用我的STATIC文件夹

时间:2019-12-24 20:46:55

标签: django

我的settings.py文件设置了静态URL:

# Static files (CSS, JavaScript, Images)
# https://docs.djangoproject.com/en/3.0/howto/static-files/

STATIC_URL = '/static/'

已安装staticfiles应用程序:

INSTALLED_APPS = [
    'Journal',
    'adminsortable2',
    'django.contrib.admin',
    'django.contrib.auth',
    'django.contrib.contenttypes',
    'django.contrib.sessions',
    'django.contrib.messages',
    'django.contrib.staticfiles',
]

我在我的应用程序中创建了一个名为static / journal的文件夹:

https://i.stack.imgur.com/T1eGw.png

我的模板加载静态文件并按照文档使用URL:

{% load static %}
<link rel='icon' href='{% static "journal/favicon.ico" %}' type='image/x-icon'>

然而,当我浏览到http://localhost/static/journal/favicon.ico时,却收到错误404 !!!

我的应用程序的其余部分可通过http://localhost访问(运行服务器位于端口80上,并且本地主机通过主机文件解析为127.0.0.1

2 个答案:

答案 0 :(得分:0)

在您的问题上方,

似乎您没有使用url中的端口号。您可以尝试http://localhost:80/static/journal/favicon.ico吗?

答案 1 :(得分:0)

您需要将静态文件url添加到url urls.py

在您的urls.py中:

在文件顶部放置以下行:

from django.views.decorators.cache import cache_control
from django.contrib.staticfiles.views import serve
from django.conf import settings
from django.conf.urls.static import static

在文件的底部放置以下行:

if settings.DEBUG:
    urlpatterns += static(settings.STATIC_URL,
                      view=cache_control(no_cache=True, must_revalidate=True)(serve))