Welcome to django-textplusstuff’s documentation!¶
About¶
Summary¶
A django field that makes it easy to intersperse ‘stuff’ into blocks of text.
Documentation¶
Full documentation available at Read the Docs.
A Flexible Interface¶
django-textplusstuff
provides a simple interface for returning the contents of your field however you like: as either markdown-flavored text, valid HTML markup (with or without ‘stuff’ interspersed) or even plain text (with all markdown formatting removed).
Keep Track of Your Content¶
django-textplusstuff
also keeps track of which model instances are associated within each TextPlusStuffField (via the TextPlusStuffLink model) so you can see where all your textplusstuff-integrated content is used across your django project.
Easy Integration¶
Registering existing models for use in TextPlusStuffFields is as easy as integrating a model into the admin.
Designer/Front-End Developer Friendly¶
Each model registered with django-textplusstuff
can have as many ‘renditions’ as you like which keeps business logic DRY while enabling designers and front-end developers to have control over how content is displayed.
Current Version¶
0.6
Dependencies¶
markdown2
>= 2.3.xbeautifulsoup4
>= 4.4.0django
>= 1.6.xdjangorestframework
>= 2.4.4
Python Compatibility¶
- 2.7.x
- 3.4.x
- 3.5.x
Django Compatibility¶
- 1.7.x
- 1.8.x
- 1.9.x
Django REST Framework Compatibility¶
- 2.4.4
- 3.0.x
- 3.1.x
- 3.2.x
- 3.3.x (NOTE: Django 1.6.x is not compatible with DRF 3.3.x)
Contents¶
Release Notes¶
0.7¶
- Removed need to call findstuff() to discover stuff modules. Now we use Django’s built in autodiscover_modules function and set everything up in the AppConfig.
- Removed Django 1.6.x compatibility
0.6¶
- Added Python 3.5 support
- Deprecated Python 3.3 support
- Added Django 1.9.x compatibility
0.5¶
- Added
as_json
method toTextPlusStuffField
- Added a new field (
TextPlusStuffConstructedField
) and signal (update_constructed_fields
) that can be leveraged to improve speed/performance.
0.4.1¶
- Fixed a UnicodeDecodeError bug that arose in Python 2.7.5 when encoding text nodes that had non-ASCII encoded HTML entities.
0.4¶
- Added ExtraContextSerializerMixin for simplifying
extra_context
-to-serializer handoff.
0.3¶
- Added the ability to register ‘non-core’ renditions in a third-party application’s already-registered Stuff class.
django-textplusstuff
is now available for installation via wheel.
0.2.1¶
- Squashed a bug that prevented
TextPlusStuffField
from serializing correctly (when usingdumpdata
).
0.2¶
- Added Django REST Framework serialization for
TextPlusStuffField
0.1.3¶
- Fixed a Python 2.7.x-related encoding issue in the Stuff registry.
0.1.2¶
- Another
pip
installation hotfix: including template files in distribution.
0.1.1¶
- Squashed
pip
installation bug
0.1¶
- Initial open source release
Roadmap to v1.0¶
- Support Django 1.10 - 2.0
- Create a javascript powered editor for writing markdown-flavored text and placing tokens.
- textplusstuff API POST support (so model instances registered with the stuff_registry can be created directly from a TextPlusStuff field widget)
- Create an example registered model to explain how the rendition/token architecture works.
- Document ‘Constructed Field’ functionality to improve performance.
- Document ‘as_json’ method on a TextPlusStuff instance.