A drop-in enhancement for Django's contrib.flatpages
Project description
Django Flatpages Plus
A drop-in replacement for Django's contrib.flatpages
Features
- More descriptive page history: no more vague "Changed Content."!
- Preview changes before they go live
- Revert changes after they've been published
Compatibility
flatpages_extra should compatible with all curently supported versions of Python and Django.
Installation
First make sure the package is installed:
pip install django-flatpages-extra
Then add flatpages_extra to your settings.INSTALLED_APPS, making sure it comes before contrib.flatpages:
# settings.py
INSTALLED_APPS = [
...
"flatpages_extra",
"contrib.flatpages",
...
]
Finally, include the URL configuration. The exact path doesn't matter as long as it's reachable somewhere:
# urls.py
urlpatters = [
...
# Replace `flatpagesextra` with whatever you'd like:
path("flatpagesextra/", include("flatpages_extra.urls")),
...
]
Once you've done all that, the app should be installed and running. Optionally you can run this command to import data from contrib.flatpages:
python manage.py flatpages_extra_import_initial
Running this command will do the following:
- create initial
Revisions for all existing flatpages; - copy the pages' history from
contrib.flatpages(otherwise the "History" page in the admin would be empty); - copy any custom
FlatPagepermission; - copy user and group permissions.
How to use it
flatpages_extra is meant to be used from the Django admin.
Once installed, it replaces Django's contrib.flatpages in the admin interface with its own.
When you want to make changes to an existing page, create a new revision (the FlatPage change form will prompt you to do so).
Once a revision is created, you can make changes to it, preview it, and even share the preview link.
When you're happy with the changes, you can publish the revision via the "publish" button on the Revision changelist.
Publishing a revision will automatically update the related page's content and create a descriptive entry in that page's history.
Configuration
flatpages_extra does not currently have any configurable options at the moment.
How it works
flatpages_extra works by creating a proxy model to Django's original FlatPage, which lets us change how the model works in the admin while keeping the same database table.
It also adds a new Revision model that lets us preview, revert, and track changes to flat pages.
Both of those models are registered in the admin and will replace the original contrib.flatpages admin pages.
Project details
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
Built Distribution
Filter files by name, interpreter, ABI, and platform.
If you're not sure about the file name format, learn more about wheel file names.
Copy a direct link to the current filters
File details
Details for the file django_flatpages_extra-0.12.0.tar.gz.
File metadata
- Download URL: django_flatpages_extra-0.12.0.tar.gz
- Upload date:
- Size: 13.4 kB
- Tags: Source
- Uploaded using Trusted Publishing? No
- Uploaded via: uv/0.8.0
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
31597490a4ba39d51465e73a0ddde9bb68b053741ae89bd73cb39aae7db055c1
|
|
| MD5 |
17f365293cbe1a2eeaa173662b3f118d
|
|
| BLAKE2b-256 |
c92e68b500349c5eeb4d3936b86ef73ad81c3a3d743b9018a28d0b12ef626bee
|
File details
Details for the file django_flatpages_extra-0.12.0-py3-none-any.whl.
File metadata
- Download URL: django_flatpages_extra-0.12.0-py3-none-any.whl
- Upload date:
- Size: 22.6 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? No
- Uploaded via: uv/0.8.0
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
5a87c2cb9ae080c75ff6a050a631095a900d928a89d00dfe79aa8e49c774d4e6
|
|
| MD5 |
3a4fc9642f826d2e9724111740034f47
|
|
| BLAKE2b-256 |
d91bab45b1f8be642cb628763e3b86b482bb2b79894de32dade02719b30fbb23
|