django + nginx 无法加载静态文件

the django + nginx can't load staticfiles

最近当我在我的 django 中使用 { %load staticfiles % } 时 app.i 发现它显示如下图所示: enter image description here

。设置文件是这样的:

STATIC_DIR = os.path.join(BASE_DIR,'static')
STATIC_URL = '/static/'
STATICFILES_DIRS = [STATIC_DIR, ]
STATIC_ROOT = os.path.join(BASE_DIR, "static/")

文件目录如下:

web1->web1->settings.py
we1->static->img->ocen.jpg

base.html是这样的:

<!DOCTYPE html>

{ % load staticfiles % }

<html lang="en">
<head>
<meta charset="UTF-8">
<title>Document</title>
</head>
<body>

<img src="{ % static "img/ocen.jpg" % }" alt="show picture">

</body>
</html>

ngix 配置文件是这样的:

location /static/ {
        alias /home/yumo/web1;
    }

为了找到原因,我尝试 follows:first ,我在浏览器中输入 :domainname/static/img/ocen.jpg 。我可以在浏览器中看到我的 ocen.jpg。第二:我只是在我的本地虚拟机中创建 django 应用程序,而不使用 uwsgi 和 nginx。我可以正常使用 { % load staticfiles %} 来实现我的目标。我只是真诚地希望有人能给我一些有用的建议,谢谢!

在 django 模板中 tags 看起来像这样 {% tag %} 请注意 {% 之间没有 space。

所以

{ % load staticfiles % }
<img src="{ % static "img/ocen.jpg" % }" alt="show picture">

你应该做的:

{% load staticfiles %}
<img src="{% static 'img/ocen.jpg' %}" alt="show picture">