簡體   English   中英

應用程序外的Django靜態文件未加載

[英]Django static files outside app not loading

如果我的靜態文件位於應用程序內部,它們將正常加載,但如果它們位於應用程序外部,例如在我的項目目錄中,它們將無法加載。 我知道這似乎是一個被問了一百萬次的問題,但我看不出用我的代碼改變什么。 這是 Django 1.9

文件夾結構

/site
├── manage.py
├── project
│   ├── __init__.py
│   ├── settings.py
│   ├── static
│   │   └── main
│   │       ├── css
│   │       ├── fonts
│   │       ├── img
│   │       ├── libs
│   │       └── scripts
│   ├── templates
│   ├── urls.py
│   └── wsgi.py
├── app1
├── app2
└── app3

設置.py

INSTALLED_APPS = [
    'django.contrib.admin',
    'django.contrib.auth',
    'django.contrib.contenttypes',
    'django.contrib.sessions',
    'django.contrib.messages',
    'django.contrib.staticfiles',
    'rooms',
    'events',
    'activities',
] 

STATIC_URL = '/static/'
STATIC_ROOT = os.path.join(BASE_DIR, 'staticfiles')
STATICFILES_DIR = os.path.join(BASE_DIR, "static")

索引.html

{% load staticfiles %}
    <link rel="stylesheet" type="text/css" href="{% static "main/css/bootstrap.css" %}">
    <link rel="stylesheet" type="text/css" href="{% static "main/libs/animate.min.css" %}">

我認為有拼寫錯誤。 它應該是STATICFILES_DIRS而不是STATICFILES_DIR

你把你的靜態目錄放在你的項目文件夾中,如果你希望它在那里(雖然不是正確的方式)你應該改變:

STATICFILES_DIR = os.path.join(BASE_DIR, "static")

到:

STATICFILES_DIR = os.path.join(BASE_DIR, "project/static")

** 我認為最好將您的靜態文件夾放在項目文件夾之外(如果您想使用全局靜態文件)**

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM