Add pre-rendered markup fields to your django models with the least work.
Project description
A simple django reusable application to provide markup control over a field in a model. Right now this is pretty hacked together, but should become more robust over time. Either way, I’ve found it quite useful in many places already.
On big benefit? You can provide both a markup field, and a rendered content field, meaning expensive per-template markup rendering operations can be relegated to only the simplest of text areas. Big content areas can be re-rendered on each model save.
Installation
In three easy steps!
Place ‘markup-mixin’ in your installed apps.
Add:
from markup-mixin.models import MarkupMixin
Make sure your model inherits the mixin:
- class YourModel(MarkupMixin):
…
Set the markup field options on your model:
- def MarkupOptions:
source_field = <your markup content field> rendered_field = <your rendered content field>
That’s it. One major caveat, because of the hacky nature of this project, you must place MarkupMixin at the front of your model inheritance list! This should be fixed eventually, but right now it has something to do with how the model’s save() function is overridden.
Usage
With the steps above taken, managing your marked up items is fairly straightforward:
>>> obj = YourModel.objects.get(pk=1) >>> obj.content u'This is a markdown **formated** text area.' >>> obj.rendered_content u'<p>This is a markdown <strong>formated</formated> text area.</p>'
Future
Figure out why it must come first in the inheritance list and perhaps even add support for multiple markup rendered fields.
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
File details
Details for the file django-markup-mixin-0.1.0.tar.gz
.
File metadata
- Download URL: django-markup-mixin-0.1.0.tar.gz
- Upload date:
- Size: 3.4 kB
- Tags: Source
- Uploaded using Trusted Publishing? No
File hashes
Algorithm | Hash digest | |
---|---|---|
SHA256 | feb6d0d6538877198d55bc5625961cbd259f4ef3d892a33936736ffa2e7a9ed0 |
|
MD5 | b4a1d46ae6cafd170bc6d6f0e2131125 |
|
BLAKE2b-256 | be47ea14f7e8baea4ad7972849bef5155527ce24d1c43f22c734a239448c4d5e |