基于 Django1.10 文档的深入学习(2)—— Settings.py 之 STATIC_*

来源:互联网 发布:秒抢商品软件 编辑:程序博客网 时间:2024/06/14 09:05

STATIC_ROOT

默认值:None(在开发环境中为此默认值)

collectstatic 收集静态文件进行部署的目录的绝对路径。

示例:“/var/www/example.com/static/”

如果启用了staticfiles contribapp(如在默认项目模板中),则collectstatic管理命令将将静态文件收集到此目录中。

警告
这应该是一个最初的空目标目录,用于将静态文件从永久位置收集到一个目录中,以方便部署; 它不是永久存储静态文件的地方。
您应该在静态文件的查找器(默认情况下是静态/应用程序子目录以及STATICFILES_DIRS中包含的任何目录)中找到的目录中执行此操作。


STATIC_URL

默认值:None

引用位于STATIC_ROOT中的静态文件时使用的URL

示例:“/ static /”“http://static.example.com/”

如果不是 None,这将被用作资产定义(Media类)和staticfiles应用程序的基本路径。

如果设置为非空值,则它必须以斜杠结尾

您可能需要将这些文件配置为在开发中提供服务,并且在生产中肯定需要这样做。


STATICFILES_DIRS

默认值:[](空列表)

此设置定义如果FileSystemFinder查找器启用,staticfiles应用程序将遍历的其他位置,例如 如果您使用collectstaticfindstatic管理命令或使用静态文件服务视图。

应将此设置为包含其他文件目录的完整路径的字符串列表,例如:

STATICFILES_DIRS = [    "/home/special.polls.com/polls/static",    "/home/polls.com/polls/static",    "/opt/webfiles/common",]

请注意,这些路径应使用Unix风格的正斜杠,即使在Windows上(例如“C:/ Users / user / mysite / extra_static_content”)也是如此。


开发环境中的配置:

这里写图片描述


配置静态文件

1、确保您的INSTALLED_APPS中包含django.contrib.staticfiles

2、在您的设置文件中,定义STATIC_URL,例如:

STATIC_URL ='/ static /'

3、在您的模板中,您可以对网址进行硬编码,如/static/my_app/example.jpg,或者最好使用静态模板标签通过使用已配置的STATICFILES_DIRS存储来构建给定相对路径的URL 切换到用于提供静态文件的内容传送网络(CDN))。

{% load static %}<img src="{% static "my_app/example.jpg" %}" alt="My image"/>

将静态文件存储在应用程序中的静态文件夹中。 例如my_app / static / my_app / example.jpg

4、您的项目可能还将具有与特定应用程序无关的静态资产。 除了在应用程序中使用静态/目录之外,还可以在设置文件中定义一个目录列表(STATICFILES_DIRS),Django还将查找静态文件。 例如:

STATICFILES_DIRS = [    os.path.join(BASE_DIR, "static"),    '/var/www/static/',]

部署

django.contrib.staticfiles提供了一个方便的管理命令,用于在单个目录中收集静态文件,以便您轻松地为其提供服务。

1、将STATIC_ROOT设置设置为要从中提供这些文件的目录,例如:

STATIC_ROOT =“/var/www/example.com/static/”

2、运行collectstatic管理命令:

$ python manage.py collectstatic
这将将所有文件从静态文件夹复制到STATIC_ROOT目录中。

3、使用您选择的Web服务器来提供文件。

0 0
原创粉丝点击