我的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
答案 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))