Skip to main content

Pluggable application to manage static pages (/about) on DB (sqlalchemy or ming) with RST or html

Project description

About flatpages

flatpages is a Pluggable application for TurboGears2 meant to simply management of simple static pages inside your TurboGears application.

Instead of creating a controller and template for “About”, “Contacts” and similar pages, just plug flatpages and edit them directly from the administration interface.

Installing

flatpages can be installed both from pypi or from bitbucket:

pip install tgapp-flatpages

should just work for most of the users

Plugging flatpages

In your application config/app_cfg.py import plug:

from tgext.pluggable import plug

Then at the end of the file call plug with flatpages:

plug(base_config, 'flatpages')

You will be able to access the plugged application management interface at http://localhost:8080/pages/manage while all the pages you create will be served at http://localhost:8080/pages/PAGENAME.

Restricting access to pages

flatpages supports restricting access to pages only to users that has a specific permission. When creating the page set it to Public, Only Registered Users or any of the Permission your application provides.

Loading pages from file

When working with static pages it’s often easier to include the starting version or new versions into the source code itself instead of providing a database migration each time the content has to be changed.

To allow this, flatpages permits to load the page content from a file local to the application itself. To do so it’s sufficient to set file://path/relative/to/application/package as the content of the static page.

Options

flatpages exposes some options to control the behavior when rendering a page, pass this to the plug call to set them:

  • format -> This is the format used to render the page content, can be html or rst if you store pages in RST or HTML format.

  • templates -> This is a list of the templates available to render the pages. Each entry is in the form: ("engine:package.templates.path", "Template Description").

  • default_index_template_manage -> default template of manage pages, set it like kajiki:flatpages.templates.manage to use kajiki instead of genshi

  • default_index_template_page -> default template to render the pages, this won’t be used if you set templates

Overriding crud templates

you can find tgext.admin templates here: https://github.com/TurboGears/tgext.admin/tree/master/tgext/admin/templates/bootstrap_crud and override them in your app_cfg.py with something like:

replace_template(base_config,
                 'tgext.admin.templates.bootstrap_crud.get_all',
                 'myproject.templates.crud.get_all')

Project details


Download files

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

Source Distribution

tgapp-flatpages-0.3.0.tar.gz (96.1 kB view details)

Uploaded Source

File details

Details for the file tgapp-flatpages-0.3.0.tar.gz.

File metadata

File hashes

Hashes for tgapp-flatpages-0.3.0.tar.gz
Algorithm Hash digest
SHA256 c74c8e0cb5eebe79b56aa522579bdadff3207217f444c039a44cafd2ce2c7f22
MD5 8eea42ebd53926f85467db4a768f56b9
BLAKE2b-256 5adbfcbfbfdb8d2cdc05261d67880ba9b3f6505ea6e9ed0250c5004098bf1ab6

See more details on using hashes here.

Supported by

AWS AWS Cloud computing and Security Sponsor Datadog Datadog Monitoring Fastly Fastly CDN Google Google Download Analytics Microsoft Microsoft PSF Sponsor Pingdom Pingdom Monitoring Sentry Sentry Error logging StatusPage StatusPage Status page