我正在尝试将django项目中的静态文件加载到html模板。我的项目结构如下:
base
settings
__init__.py
defaults.py
urls.py
wsgi.py
data
web
migrations
static
css
fonts
img
js
templates
base
base.html
pages
blank.html
__init__.py
admin.py
apps.py
models.py
tests.py
urls.py
views.py
我在defaults.py中定义了以下内容:
TEMPLATES = [
{
'BACKEND': 'django.template.backends.django.DjangoTemplates',
'DIRS': [
os.path.join(BASE_DIR, 'web/templates'),
],
'APP_DIRS': True,
'OPTIONS': {
'context_processors': [
'django.template.context_processors.debug',
'django.template.context_processors.request',
'django.contrib.auth.context_processors.auth',
'django.contrib.messages.context_processors.messages',
],
},
},
]
STATIC_URL = 'web/static/'
STATICFILES_DIRS = [
]
“网络”应用中的我的views.py:
from django.shortcuts import render
# Create your views here.
def blank_page(request):
return render(request, 'pages/blank.html')
“网络”应用中的urls.py:
from django.conf.urls import url
from . import views
urlpatterns = [
url(r'^$', views.blank_page, name='index'),
]
“基本”应用中的urls.py:
from django.contrib import admin
from django.conf import settings
import sys
admin.site.site_header = os.environ.get('ADMIN_SITE_HEADER') or 'Django administration'
urlpatterns = [
path('admin', admin.site.urls),
path('', include('web.urls'))
]
if settings.DEBUG or 'test' in sys.argv:
import debug_toolbar
urlpatterns = [
path('__debug__/', include(debug_toolbar.urls)),
] + urlpatterns
当我从localhost调用根URL时,在base.html的html模板中使用href时,我无法获得静态文件:
{% load staticfiles %}
<link rel="stylesheet" href="{% static 'css/style.css' %}">
我试图将STATIC_URL更改为/ static /或web / static /,但仍然无法在我的静态文件夹中获取静态文件。
我在做什么错了?