Django 静态文件目录结构
Django 的静态文件目录结构通常如下:
project_name/ static/ # 存放应用共享的静态文件 css/ js/ img/ app_name/ static/ # 存放特定应用的静态文件 app_name/ # 存放特定应用下的静态文件,这样可以避免应用之间静态文件冲突 css/ js/ img/
比如,如果有一个名为“blog”的应用,那么它的静态文件目录结构就应该如下:
blog/ static/ blog/ css/ js/ img/
在模板中引用这些静态文件时,可以使用以下语法:
{% load static %} <link rel="stylesheet" href="{% static 'blog/css/main.css' %}"> <script src="{% static 'blog/js/main.js' %}"></script>
其中,{% load static %}
用于加载 Django 的静态文件模板标签集合,可以在模板中使用 {% static %}
标签来动态地生成静态文件的 URL。例如,{% static 'blog/css/main.css' %}
会生成 /static/blog/css/main.css
这样的 URL,并且会自动将该 URL 与静态文件根目录关联。如果在开发环境中使用 Django 的开发服务器,那么访问这个 URL 时,Django 会自动找到这个静态文件并返回给客户端。
如果在生产环境中使用 Apache 或 Nginx 等 Web 服务器,那么需要将静态文件复制到 Web 服务器的静态文件目录下,然后再配置 Web 服务器的静态文件访问路径。例如,在 Apache 的配置文件中可以增加以下代码来设置静态文件访问路径:
Alias /static /path/to/static/files <Directory /path/to/static/files> Require all granted </Directory>
相关文章