Django Fiber - a simple, user-friendly CMS for all your Django projects
Project description
Installation:
$ pip install django-fiber
Requirements:
These dependencies are automatically installed:
django-mptt>=0.4.2 django-piston==0.2.3rc1 beautifulsoup>=3.2.0 PIL>=1.1.7 django-staticfiles>=1.0.1 django-compressor>=0.7.1
Optionally, you may need:
textile>=2.1.5 South>=0.7.3
Settings:
settings.py
MIDDLEWARE_CLASSES = ( ... 'fiber.middleware.ObfuscateEmailAddressMiddleware', 'fiber.middleware.AdminPageMiddleware', 'fiber.middleware.PageFallbackMiddleware', ... ) TEMPLATE_CONTEXT_PROCESSORS = ( ... 'django.core.context_processors.request', 'staticfiles.context_processors.static_url', 'fiber.context_processors.page_info', ... ) INSTALLED_APPS = ( ... 'mptt', 'staticfiles', 'compressor', 'fiber', ... ) import os BASE_DIR = os.path.abspath(os.path.dirname(__file__)) STATIC_ROOT = os.path.join(BASE_DIR, 'static') STATIC_URL = '/static/' STATICFILES_FINDERS = ( 'staticfiles.finders.FileSystemFinder', 'staticfiles.finders.AppDirectoriesFinder', 'compressor.finders.CompressorFinder', ) COMPRESS_JS_FILTERS = ()
Optional settings:
These settings are optional (default values are shown):
FIBER_DEFAULT_TEMPLATE = 'base.html' FIBER_TEMPLATE_CHOICES = [] FIBER_EXCLUDE_URLS = [] FIBER_IMAGES_DIR = 'uploads/images' FIBER_FILES_DIR = 'uploads/files' FIBER_METADATA_PAGE_SCHEMA = {} FIBER_METADATA_CONTENT_SCHEMA = {} COMPRESS = [the opposite of DEBUG]
urls.py
... (r'^api/v1/', include('fiber.api.urls')), (r'^admin/fiber/', include('fiber.admin_urls')), (r'^jsi18n/$', 'django.views.i18n.javascript_catalog', {'packages': ('fiber',),}), ... if settings.DEBUG: urlpatterns += patterns('staticfiles.views', url(r'^static/(?P<path>.*)$', 'serve'), )
Post-installation:
Create database tables:
$ python manage.py syncdb
All static Fiber files need to be symlinked in (or copied to) your media folder:
$ python manage.py collectstatic --link
Usage:
At the beginning of your template(s), load the Fiber template tags:
{% load fiber_tags %}
Using the Fiber template tags, you can:
write out content items, that either
have a specified name
are linked to a specific location on the current page
are linked to a specific location on another page
write out valid XHTML menu structures
of pages below a named root page (this is the menu name),
limited to a minimum and maximum level (depth),
that mark the currently active page,
optionally expanding all descendants of the currently active page,
with all possible css hooks you could ever need
Content items
You can write out content items with the ‘show_content’ and ‘show_page_content’ template tags:
{% show_content "content_item_name" %} {% show_page_content "block_name" %} {% show_page_content other_page "block_name" %}
Examples
This shows content item named ‘address’:
{% show_content "address" %}
This shows content items that are linked to the location named ‘content’ on the current page:
{% show_page_content "content" %}
This shows content items that are linked to the location named ‘content’ on another page ‘other_page’:
{% show_page_content other_page "content" %}
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-fiber-0.9.3.tar.gz
.
File metadata
- Download URL: django-fiber-0.9.3.tar.gz
- Upload date:
- Size: 2.2 MB
- Tags: Source
- Uploaded using Trusted Publishing? No
File hashes
Algorithm | Hash digest | |
---|---|---|
SHA256 | b1b0814e87d3efa38abc2fc0fa635cf4fbeb8640e3c6e73a910210ce06845814 |
|
MD5 | 2511ca725335d595842897f88297e84f |
|
BLAKE2b-256 | a5d418f9a80a80a6bff3ec561177e237550349db4722682298fb54ae0148668f |