Django:无法从 DigitalOcean Droplet 上的模板加载静态文件

Django: can't load static files from template on DigitalOcean Droplet

我在 DigitalOcean 机器上从我的 Django 应用 运行 中的模板加载静态文件时遇到问题。

这是我的 Nginx 配置文件 (etc/nginx/sites-available/django):

# your Django project's static files - amend as required
location /static {
    alias /home/workspace/app-toscana/django/djangoapptoscana/djangoapptoscana/static;
}

这是我的 settings.py 文件:

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

STATIC_URL = '/static/' # You may find this is already defined as such.

STATICFILES_DIRS = (
    STATIC_PATH, )

模板文件调用示例如下:

{% load staticfiles %}
<!DOCTYPE html>
<html>
  <head>
    <meta charset="UTF-8">
    <title>AdminLTE 2 | Dashboard</title>
    <meta content='width=device-width, initial-scale=1, maximum-scale=1, user-scalable=no' name='viewport'>
    <!-- Bootstrap 3.3.4 -->
    <link href="{% static 'bootstrap/css/bootstrap.min.css' %}" rel="stylesheet" type="text/css" />

我尝试了不同的解决方案,尤其是更改 settings.py 文件,但没有任何结果。 也许在 Nginx 和 gunicorn 配置中有任何我找不到的问题之王。

希望我找到了解决这个问题的方法。这是一个权限问题。在我的 DigitalOcean 机器上,我将 django 应用程序目录的所有者设置为 root:root

chown -R root:root /home/django/djangoapptoscana/dashboard

并将静态文件目录的所有者设为 django:django

chown -R django:django /home/django/djangoapptoscana/djangoapptoscana/static