Settings variables

Configuration options for your settings.py.

ALLOW_BAKERY_AUTO_PUBLISHING

ALLOW_BAKERY_AUTO_PUBLISHING

Decides whether the AutoPublishingBuildableModel is allowed to run the publish management command as part of its background task. True by default.

# So if you are in your dev environment and want to prevent
# the task from publishing to s3, do this.
ALLOW_BAKERY_AUTO_PUBLISHING = False

BUILD_DIR

BUILD_DIR

The location on the filesystem where you want the flat files to be built.

BUILD_DIR = '/home/you/code/your-site/build/'

# I like something a little snappier like...
import os
BUILD_DIR = os.path.join(__file__, 'build')

BAKERY_FILESYSTEM

BAKERY_FILESYSTEM

Files are built using PyFilesystem, a module that provides a common interface to a variety of filesystem backends. The default setting is the OS filesystem backend that saves files to the local directory structure. If you don’t set the variable, it will operates as follows:

BAKERY_FILESYSTEM = 'osfs:///'

Here’s how you could change to an in-memory backend instead. The complete list of alternatives are documented here.

BAKERY_FILESYSTEM = 'mem://'

BAKERY_VIEWS

BAKERY_VIEWS

The list of views you want to be built out as flat files when the build management command is executed.

BAKERY_VIEWS = (
    'myapp.views.ExampleL­istView',
    'myapp.views.ExampleDe­tailView',
    'myapp.views.MyRSSView',
    'myapp.views.MySitemapView',
)

AWS_BUCKET_NAME

AWS_BUCKET_NAME

The name of the Amazon S3 “bucket” on the Internet were you want to publish the flat files in your local BUILD_DIR.

AWS_BUCK­ET_­NAME = 'your-buck­et'

AWS_ACCESS_KEY_ID

AWS_ACCESS_KEY_ID

A part of your secret Amazon Web Services credentials. Necessary to upload files to S3.

AWS_ACCESS_KEY_ID = 'your-key'

AWS_SECRET_ACCESS_KEY

AWS_SECRET_ACCESS_KEY

A part of your secret Amazon Web Services credentials. Necessary to upload files to S3.

AWS_SECRET_ACCESS_KEY = 'your-secret-key'

AWS_REGION

AWS_REGION

The name of the Amazon Web Services’ region where the S3 bucket is stored. Results depend on the endpoint and region, but if you are not using the default us-east-1 region you may need to set this variable.

AWS_REGION = 'us-west-2'

AWS_S3_ENDPOINT

AWS_S3_ENDPOINT

The URL to use when connecting with Amazon Web Services’ S3 system. If the setting is not provided the boto package’s default is used.

# Substitute in Amazon's accelerated upload service
AWS_S3_ENDPOINT = 'https://s3-accelerate.amazonaws.com'
# Specify the region of the bucket to work around bugs with S3 in certain version of boto
AWS_S3_ENDPOINT = 'https://s3-%s.amazonaws.com' % AWS_REGION

BAKERY_GZIP

BAKERY_GZIP

Opt in to automatic gzipping of your files in the build method and addition of the required headers when deploying to Amazon S3. Defaults to False.

BAKERY_GZIP = True

GZIP_CONTENT_TYPES

GZIP_CONTENT_TYPES

A list of file mime types used to determine which files to add the ‘Content-Encoding: gzip’ metadata header when syncing to Amazon S3.

Defaults to include all ‘text/css’, ‘text/html’, ‘application/javascript’, ‘application/x-javascript’ and everything else recommended by the HTML5 boilerplate guide.

Only matters if you have set BAKERY_GZIP to True.

GZIP_CONTENT_TYPES = (
    "application/atom+xml",
    "application/javascript",
    "application/json",
    "application/ld+json",
    "application/manifest+json",
    "application/rdf+xml",
    "application/rss+xml",
    "application/schema+json",
    "application/vnd.geo+json",
    "application/vnd.ms-fontobject",
    "application/x-font-ttf",
    "application/x-javascript",
    "application/x-web-app-manifest+json",
    "application/xhtml+xml",
    "application/xml",
    "font/eot",
    "font/opentype",
    "image/bmp",
    "image/svg+xml",
    "image/vnd.microsoft.icon",
    "image/x-icon",
    "text/cache-manifest",
    "text/css",
    "text/html",
    "text/javascript",
    "text/plain",
    "text/vcard",
    "text/vnd.rim.location.xloc",
    "text/vtt",
    "text/x-component",
    "text/x-cross-domain-policy",
    "text/xml"
)

DEFAULT_ACL

DEFAULT_ACL

Set the access control level of the files uploaded. Defaults to ‘public-read’

# defaults to 'public-read',
DEFAULT_ACL = 'public-read'

BAKERY_CACHE_CONTROL

BAKERY_CACHE_CONTROL

Set cache-control headers based on content type. Headers are set using the max-age= format so the passed values should be in seconds ('text/html': 900 would result in a Cache-Control: max-age=900 header for all text/html files). By default, none are set.

BAKERY_CACHE_CONTROL = {
    'text/html': 900,
    'application/javascript': 86400
}