This is a pre-production deployment of Warehouse. Changes made here affect the production instance of PyPI (pypi.python.org).
Help us improve Python packaging - Donate today!

like flatpages, but with templates.

Project Description

like flatpages, but with templates

This is like Django’s contrib.flatpages, but without the database. It’s just static html documents served from your filesystem.

Motivation

I’ve been using the flatpages app for a long time, but somewhere along the line I started keeping my flatpage content (snippets of html) in the git repo with the rest of my project. Any time I made a change to a flatpage, I’d edit the file locally, commit the changes, then copy and paste the new content into the relevant flatpage.

Why not just serve these from my templates directory?

That’s what staticflatpages does.

Installation

Install the latest release with pip:

pip install django-staticflatpages

Compatibility

This app works with Django 1.10+ (grab a previous release for older versions of Django). and Python 3.5-3.6. You can run the test suite with python manage.py test staticflatpages, and open an Issue on Github if you run into any problems.

Configuration

  1. Add staticflatpages to your INSTALLED_APPS.
  2. Add staticflatpages.middleware.StaticFlatpageFallbackMiddleware to your MIDDLEWARE settings.
  3. Create a staticflatpages template directory. This should be a subdirectory of one of the templates in your TEMPLATES setting. Any templates you include here (except for a base.html) will get served as a static page.

For example, assuming your project-level template directory is named “templates”, then:

  • The url /about/ will render templates/staticflatpages/about.html
  • The url /about/team/ will render templates/staticflatpages/about/team.html

Sitemaps

This app also supports sitemaps for staticflatpages. To enable these, you’ll need to have django.contrib.sitemaps listed in your INSTALLED_APPS. Then, just set up a sitemap (e.g. in your Root URLconf):

from staticflatpages.sitemaps import StaticFlatpageSitemap

sitemaps = {
    'staticflatpages': StaticFlatpageSitemap,
}

Then include your sitemaps urls as normal:

urlpatterns += patterns('django.contrib.sitemaps.views',
    url(r'^sitemap\.xml$', 'index', {'sitemaps': sitemaps}),
    url(r'^sitemap-(?P<section>.+)\.xml$',
        'sitemap',
        {'sitemaps': sitemaps}
    ),
)

NOTE: The sitemaps framework also requires the sites framework, so you’ll need that in INSTALLED_APPS, and you’ll also need to define a SITE_ID.

Settings

If you use the sitemaps feature, you may also want to include the following settings:

  • STATICFLATPAGES_CHANGEFREQ: Corresponds to the Sitemap.changefreq attribute (defaults to never).
  • STATICFLATPAGES_PRIORITY: Corresponds to the Sitemap.priority attribute (defaults to 0.5).

License

This code is distributed under the terms of the MIT license. See the LICENSE file.

Release History

Release History

This version
History Node

0.5.0

History Node

0.4.0

History Node

0.3.1

History Node

0.3.0

History Node

0.2.1

History Node

0.2.0

History Node

0.1.1

History Node

0.1.0

Download Files

Download Files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

File Name & Checksum SHA256 Checksum Help Version File Type Upload Date
django-staticflatpages-0.5.0.tar.gz (7.3 kB) Copy SHA256 Checksum SHA256 Source Jun 4, 2017

Supported By

WebFaction WebFaction Technical Writing Elastic Elastic Search Pingdom Pingdom Monitoring Dyn Dyn DNS Sentry Sentry Error Logging CloudAMQP CloudAMQP RabbitMQ Heroku Heroku PaaS Kabu Creative Kabu Creative UX & Design Fastly Fastly CDN DigiCert DigiCert EV Certificate Rackspace Rackspace Cloud Servers DreamHost DreamHost Log Hosting