基于 Django1.10 文档的深入学习(2)—— Settings.py 之 STATIC_*
来源:互联网 发布:秒抢商品软件 编辑:程序博客网 时间:2024/06/14 09:05
STATIC_ROOT
默认值:None(在开发环境中为此默认值)
collectstatic
收集静态文件进行部署的目录的绝对路径。
示例:“/var/www/example.com/static/”
如果启用了staticfiles contrib
app(如在默认项目模板中),则collectstatic
管理命令将将静态文件收集到此目录中。
警告
这应该是一个最初的空目标目录,用于将静态文件从永久位置收集到一个目录中,以方便部署; 它不是永久存储静态文件的地方。
您应该在静态文件的查找器(默认情况下是静态/应用程序子目录以及STATICFILES_DIRS
中包含的任何目录)中找到的目录中执行此操作。
STATIC_URL
默认值:None
引用位于STATIC_ROOT
中的静态文件时使用的URL
。
示例:“/ static /”
或“http://static.example.com/”
如果不是 None,这将被用作资产定义(Media类
)和staticfiles
应用程序的基本路径。
如果设置为非空值,则它必须以斜杠结尾。
您可能需要将这些文件配置为在开发中提供服务,并且在生产中肯定需要这样做。
STATICFILES_DIRS
默认值:[]
(空列表)
此设置定义如果FileSystemFinder
查找器启用,staticfiles
应用程序将遍历的其他位置,例如 如果您使用collectstatic
或findstatic
管理命令或使用静态文件服务视图。
应将此设置为包含其他文件目录的完整路径的字符串列表,例如:
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服务器来提供文件。
- 基于 Django1.10 文档的深入学习(2)—— Settings.py 之 STATIC_*
- 基于 Django1.10 文档的深入学习(1)—— Settings.py 之 MEDIA_ROOT 与 MEDIA_URL
- 基于 Django1.10 文档的深入学习(31)—— settings 之 ALLOWED_HOSTS
- 基于 Django1.10 文档的深入学习(3)—— models.py 之 FileField
- 基于 Django1.10 文档的深入学习(4)—— models.py 之 class Meta
- 基于 Django1.10 文档的深入学习(5)—— Making queries 之 FOO_set
- 基于 Django1.10 文档的深入学习(6)—— Translation 之 short_description
- 基于 Django1.10 文档的深入学习(8)—— Model field reference 之 choices
- 基于 Django1.10 文档的深入学习(9)—— Extra instance methods 之 get_FOO_display()
- 基于 Django1.10 文档的深入学习(11)—— django.shortcuts 之 render()
- 基于 Django1.10 文档的深入学习(12)—— django.shortcuts 之 redirect()
- 基于 Django1.10 文档的深入学习(13)—— django.core.urlresolvers 之 reverse()
- 基于 Django1.10 文档的深入学习(13)—— Making queries 之 Q objects
- 基于 Django1.10 文档的深入学习(16)——Authentication backends 之 class ModelBackend
- 基于 Django1.10 文档的深入学习(22)——Sending email 之 send_mail()
- 基于 Django1.10 文档的深入学习(23)—— QuerySet API reference 之 icontains
- 基于 Django1.10 文档的深入学习(25)—— Applications 之 基础部分
- 基于 Django1.10 文档的深入学习(10)—— django.contrib.auth 之 User model
- 使用attach()函数时数据读取错误
- GCD算法
- 数位DP(模板)
- Python3 内置函数
- 串口通信基础概念
- 基于 Django1.10 文档的深入学习(2)—— Settings.py 之 STATIC_*
- 用并查集(find-union)实现迷宫算法以及最短路径求解
- 高阶篇:8)模具开模流程;
- Java并行模式:并行流水线
- 创建axis-service-archiver时遇到的各种问题
- Android中跳转到系统设置界面大全
- shell 实现自动删除文件
- Eclipse项目报错分析过程
- Linux--进程间通信(一)-管道(pipe)通信