Docker Django应用程序不提供项目静态文件,但提供公共静态信息

时间:2019-03-05 04:01:18

标签: django docker nginx django-staticfiles

我无法让我的网站为我的项目“ base.html”模板或其他任何项目级别的文件提供服务。

它成功地提供了公共目录中的项目以及apps目录中的任何内容。

但是我的“ BASE_DIR”一无所有。

我正在内部在docker容器中运行此站点。

django-admin的所有CSS都能完美加载。

settings.py

import os

BASE_DIR = os.path.dirname(os.path.dirname(os.path.abspath(__file__)))

path.append(BASE_DIR)

PROJECT_ROOT = os.path.dirname(BASE_DIR)

path.append(os.path.join(PROJECT_ROOT, "apps"))
path.append(os.path.join(PROJECT_ROOT, "libs"))

MEDIA_ROOT = os.path.join(PROJECT_ROOT, 'public/media')

MEDIA_URL = '/media/'

STATIC_ROOT = os.path.join(PROJECT_ROOT, 'public/static')

STATIC_URL = '/static/'

STATICFILES_DIRS = (
    os.path.join(BASE_DIR, 'static'),
)

TEMPLATES = [
    {
        'BACKEND': 'django.template.backends.django.DjangoTemplates',
        'DIRS': [os.path.join(BASE_DIR, 'templates')],
        'APP_DIRS': True,
        'OPTIONS': {
            'context_processors': [
                'django.contrib.auth.context_processors.auth',
                'django.template.context_processors.debug',
                'django.template.context_processors.request',
                'django.contrib.auth.context_processors.auth',
                'django.contrib.messages.context_processors.messages'
            ],
        },
    },

]

enter image description here

project / apps / app / templates / home.html

不扩展基础

{% templatetag openblock %} extends 'base.html' {% templatetag closeblock %}
{% templatetag openblock %} block content {% templatetag closeblock %}
    <p>Welcome, start editing  test this template in <code>apps/base/templates/base/home.html</code></p>
{% templatetag openblock %} endblock {% templatetag closeblock %}

0 个答案:

没有答案