Django上的静态文件设置和目录结构

时间:2016-02-16 02:24:51

标签: python django django-staticfiles

我读了Django Manual' this page,我决定移动我的静态目录。 移动静态目录并打开页面后,浏览器出错。

  

/ myapp / [Errno 2]中的FileNotFoundError没有这样的文件或目录:   ' /家庭/ JAP / GIT中/ mysite的/静态'

这是我的旧目录。

mysite/    
|---manage.py    
|---mysite/
|---myapp/
|---static/
    |----test.css

然后,这是我的新目录。

mysite/
    manage.py
    mysite/
    myapp/
        static/
            myapp/
                test.css

settings.py

INSTALLED_APPS = [
    'django.contrib.admin',
    'django.contrib.auth',
    'django.contrib.contenttypes',
    'django.contrib.sessions',
    'django.contrib.messages',
    'django.contrib.staticfiles',
    'myapp',
    'debug_toolbar',
]

STATIC_URL = '/static/'
STATICFILES_DIRS = (
    os.path.join(BASE_DIR, 'static'),
)
STATICFILES_FINDERS = (
    'django.contrib.staticfiles.finders.FileSystemFinder',
    'django.contrib.staticfiles.finders.AppDirectoriesFinder',
)

# cf
TEMPLATES = [
    {
        'BACKEND': 'django.template.backends.django.DjangoTemplates',
        'DIRS': [os.path.join(BASE_DIR, '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',
            ],
        },
    },
]

如果你给我一些建议,我会很感激。 谢谢。

Django:1.9.1 Python:3.5.1

1 个答案:

答案 0 :(得分:1)

settings.py中,您可以定义 Django 应查找的位置以搜索您的静态文件。

现在,您将其应查找的文件夹定义为

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

基本上是STATICFILES_DIRS = ("/home/jap/git/mysite/static/",)

但是它位于/home/jap/git/mysite/myapp/static/而不是/home/jap/git/mysite/static/配置,因为您将static文件夹移动到您的应用文件夹中。

因此,您应将STATICFILES_DIRS定义为

APP_DIR = os.path.join(BASEDIR, 'myapp')
STATICFILES_DIRS = (
    os.path.join(APP_DIR, 'static'),
)
相关问题