Django无法加载静态文件

时间:2019-09-12 02:43:34

标签: python django django-staticfiles

我正在尝试将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 /,但仍然无法在我的静态文件夹中获取静态文件。

我在做什么错了?

0 个答案:

没有答案