ERR_ABORTED 404-Django-静态文件

时间:2019-09-06 12:03:33

标签: python django apache static-files

我的网站出现以下错误:

https://www.mywebsite.com/project/static/js/stylish-portfolio.min.js net::ERR_ABORTED 404

我不明白为什么,因为我所有的静态文件都在chmod 775中。

可能是由于我的设置文件引起的,但我没有看到此问题。 :/

我的设置文件:

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

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

STATIC_URL = '/project/static/'
STATIC_ROOT = os.path.join(GPAAS_DIR, 'static')
MEDIA_ROOT = os.path.join(GPAAS_DIR, 'media')
MEDIA_URL = '/project/media/'

我使用:

  • Apache 2.4.35
  • Python 3.6.5
  • Django 2.2.4

有人遇到过这个问题,或者可能有解决这个问题的建议吗?

能帮我吗?

编辑:

我的项目就是这样:

.
└── DjangoMainFolder
    ├── DjangoApp
    │   ├── admin.py
    │   ├── __init__.py
    │   ├── migrations
    │   ├── static
    │   │   └── DjangoApp
    │   │       ├── custom.css
    │   │       └── custom.js
    │   ├── templates
    │   │   └── DjangoApp
    │   │       ├── base.html
    │   │       └── z_AND_SO_ON
    │   └── z_AND_SO_ON
    └── DjangoProjectFiles
    |    ├── settings.py
    |    ├── urls.py
    |    └── wsgi.py
    |__ static
         |__ img
         |__ js
         |__ css

我想使用静态文件DjangoMainFolder/static/,而不是APP中的静态文件。

1 个答案:

答案 0 :(得分:1)

您是否在INSTALLED_APPS中声明了静态文件指令?

INSTALLED_APPS = [
    'django.contrib.staticfiles',
]

此外,尝试使用STATIC_URL = '/static/',不要忘记将html作为第一行:{% load staticfiles %}

以后编辑: {% load staticfiles %}是正确的语法,在模板中引用它们时,请使用{% static '/DjangoApp/FileName.extension' %} 考虑您使用以下项目结构:

.
└── DjangoMainFolder
    ├── DjangoApp
    │   ├── admin.py
    │   ├── __init__.py
    │   ├── migrations
    │   ├── static
    │   │   └── DjangoApp
    │   │       ├── custom.css
    │   │       └── custom.js
    │   ├── templates
    │   │   └── DjangoApp
    │   │       ├── base.html
    │   │       └── z_AND_SO_ON
    │   └── z_AND_SO_ON
    └── DjangoProjectFiles
        ├── settings.py
        ├── urls.py
        └── wsgi.py