Simple, flexible app for integrating static, unstructured content in a Django site
For complete documentation checkout, http://django-pagelets.readthedocs.org
- "Pagelets" for adding small pieces of content to otherwise static templates
- CMS "pages" which include any number of pagelets and, if needed, attachments
- Different pagelet content types including HTML and Markdown
- An integrated WYSIWYG editor (WYMeditor) which can be selectively enabled/disabled
- Django admin site
- The django.core.context_processors.request context processor
- jQuery 1.3
- WYMeditor (included in pagelets media)
django-pagelets is available on PyPI, so the easiest way to install it is to use pip:
pip install django-pagelets
Add pagelets to INSTALLED_APPS in settings.py and run syncdb:
INSTALLED_APPS = ( ..., 'pagelets', ... )
Add django.core.context_processors.request to TEMPLATE_CONTEXT_PROCESSORS:
TEMPLATE_CONTEXT_PROCESSORS = ( "django.contrib.auth.context_processors.auth", "django.core.context_processors.debug", "django.core.context_processors.i18n", "django.core.context_processors.media", "django.contrib.messages.context_processors.messages", "django.core.context_processors.request", # <---- )
Add the pagelets URLs to urls.py, e.g.:
urlpatterns += patterns('', (r'^pagelets-management/', include('pagelets.urls.management')), (r'^', include('pagelets.urls.content')), )
In development, you can serve pagelet's static media in urls.py:
import pagelets path = os.path.join(os.path.dirname(pagelets.__file__), 'media') urlpatterns += patterns('', ( r'^%spagelets/(?P<path>.*)' % settings.MEDIA_URL.lstrip('/'), 'django.views.static.serve', {'document_root': path, 'show_indexes': True} ), )
Visit the admin site, add and save a new page, and click the View on site link. If everything is setup correctly, you should be able to see and edit the content you just added.
Development sponsored by Caktus Consulting Group, LLC..