跳转到主要内容

Django静态文件管理的高效库

项目描述

Django SimpleStatic是一个具有明确观点的Django应用程序,它通过极少的配置,使处理静态媒体变得非常简单,只要

  • 您将静态媒体存储在一个目录中,而不是每个应用程序旁边。

  • 您希望从S3而不是自己的服务器上提供文件。

  • 您希望使用Google Closure Compiler压缩您的JavaScript。

  • 您希望在请求之前而不是请求期间压缩javascript。

  • 您不使用任何那些花哨的CSS预编译器,如LESS或SCSS。(这可能会随着我个人偏好的改变而改变。)

如果上述任何一个都不适用,那么这个库可能不适合您。话虽如此,如果上述所有都适用于您,那么这个应用程序可能是处理静态媒体最简单和最好的方式。

安装

  1. pip install django-simplestatic

  2. 将‘simplestatic’添加到您的INSTALLED_APPS

INSTALLED_APPS = (
    'django.contrib.auth',
    'django.contrib.contenttypes',
    'django.contrib.sessions',
    'django.contrib.sites',
    'django.contrib.admin',

    # ... all your installed apps

    'simplestatic',
)
  1. 在您的设置文件中,设置以下值

SIMPLESTATIC_DIR = '/path/to/your/static/media/directory'

AWS_ACCESS_KEY_ID = 'YOUR_ACCESS_KEY_HERE'
AWS_SECRET_ACCESS_KEY = 'YOUR_SECRET_KEY_HERE'
AWS_STORAGE_BUCKET_NAME = 'YOUR_STATIC_BUCKET_HERE'
  1. 在您的urls.py中,导入simplestatic_debug_urls函数并执行到urlpatterns的末尾

from simplestatic.urls import simplestatic_debug_urls

urlpatterns = patterns('',
    # ... all of your url patterns right here
) + simplestatic_debug_urls()
  1. 在您的模板(或模板)中导入并使用simplestatic模板标记,可能看起来像这样

{% load simplestatic_tags %}

<head>
  <title>I love django-simplestatic!</title>

  {% simplestatic %}
    {% compress_css "css/bootstrap.css" %}
    {% compress_css "css/screen.css" %}
    {% compress_js "js/jquery-1.9.1.js" %}
    {% compress_js "js/global.js" %}
  {% endsimplestatic %}
</head>
  1. 在您推送代码之前,运行static_sync管理命令压缩任何CSS和JS并将整个目录上传到S3

python manage.py static_sync

高级配置

尽管在绝大多数情况下,您只需执行上面提到的事项即可,但django-simplestatic提供了一系列可能需要调整的设置。以下是对每个设置的参考

必需设置

SIMPLESTATIC_DIR

存储所有静态媒体的目录。

AWS_ACCESS_KEY_ID

您的Amazon Web Services访问密钥。

AWS_SECRET_ACCESS_KEY

您的Amazon Web Services秘密访问密钥。

AWS_STORAGE_BUCKET_NAME

存储和提供所有静态媒体所在的S3存储桶。

可选设置

SIMPLESTATIC_DEBUG: (默认为DEBUG)

一个布尔值,用于确定是否使用上传到S3的文件的最小化和压缩版本。如果设置为True,则将提供完整的开发版本。通常您不需要更改此设置,因为它默认与Django的DEBUG值相同。

SIMPLESTATIC_DEBUG_PATH: (默认为‘static/’)

开发期间提供静态媒体的URL路径。

SIMPLESTATIC_CUSTOM_DOMAIN: (默认为S3子域名URL)

生产环境中提供静态媒体的自定义域名。例如,您可能希望在S3存储桶前面使用CloudFront作为CDN,这可以通过以下方式实现

SIMPLESTATIC_CUSTOM_DOMAIN = 'asdfasdf.cloudfront.net'
SIMPLESTATIC_COMPRESSED_DIR: (默认为‘compressed’)

S3中的URL路径,用于放置CSS和JS的压缩和精简版本。

例如,在默认情况下,如果将其设置为‘compressed’,您的CSS和JS可能位于以下位置之一

http://example.s3.amazonaws.com/compressed/6bf0c67b74b26425832a17bbf27b9cb9.css http://example.s3.amazonaws.com/compressed/97a548fc6b62d5bb9f50e6a95b25d8db.js

CLOSURE_COMPILATION_LEVEL: (默认为‘SIMPLE_OPTIMIZATIONS’)

Google Closure Compiler的编译级别选项。更多信息请参阅以下页面

https://developers.google.com/closure/compiler/docs/compilation_levels

CLOSURE_COMPILER_COMMAND: (默认为‘java -jar /path/to/supplied/closure.jar’)

运行Google Closure Compiler所需的命令。

项目详情


下载文件

下载适用于您平台的文件。如果您不确定选择哪个,请了解有关安装包的更多信息。

源代码分发

django-simplestatic-0.0.5.tar.gz (5.4 MB 查看哈希值)

上传时间 源代码

由以下支持

AWS AWS 云计算和安全赞助商 Datadog Datadog 监控 Fastly Fastly CDN Google Google 下载分析 Microsoft Microsoft PSF赞助商 Pingdom Pingdom 监控 Sentry Sentry 错误记录 StatusPage StatusPage 状态页面