Skip to main content

Django tCMS.

Project description

===========
Django tCMS
===========

Django tCMS_ an easy to setup CMS that integrates easily with django-admin.

This project was brought to life by Matías Aguirre while hacking a CMS framework
for Mydeco_ while working on Insophia_.


-----------
Description
-----------

Sites with custom CMS systems usually relies on deployment to bring new pages
layouts, and these new pages are created by us, developers. tCMS_ brings a new
mechanism where new pages definitions can be defined using our favorite tool,
python_. With a set of building blocks pages are created easily once it's
structure is well defined.


--------
Features
--------

* Use python_ to define your pages.
* Django-admin integration.
* Rich editing using CKEditor_ (users need to install CKEditor_ and define
setting for tCMS_ app).
* Pages i18n, check Localization section for more details.
* Easy template integration, an easy {{ cms.block_name }} includes named block.


------------
Dependencies
------------

This application only depends on django-admin.


------------
Installation
------------

From pypi_::

$ pip install django-tcms

or::

$ easy_install django-tcms

or clone from github_::

$ git clone git://github.com/omab/django-tcms.git

and add tCMS_ to PYTHONPATH::

$ export PYTHONPATH=$PYTHONPATH:$(pwd)/tcms/

or::

$ cd tcms
$ sudo python setup.py install


-------------
Configuration
-------------

- Add tCMS_ to installed applications::

INSTALLED_APPS = (
...
'tcms',
)

- Define where your pages are defined::

TCMS_PAGES = 'tcms_pages'

The application will import the modules inside and inspect anything that
has a ``PAGE`` variable defined.

- Define where images should be uploaded::

TCMS_IMAGES_UPLOAD_TO = 'cms/image/%Y/%m/%d'

This setting is used to populate a ``upload_to`` Django field parameter, so
you can use any supported formats.

- Define this setting if you have CKEditor_ installed and want it to be used
while editing content::

TCMS_CKEDITOR_BASE_URL = '/media/js/ckeditor'

- The application uses Django cache to store content to speed up loading the
content when serving the content to users, by default the cache name is
``tcms``, but you can override it by defining::

TCMS_CACHE_NAME = '...'

- To enable page localizations, set this setting to ``True``::

TCMS_LOCALIZED = True

Localization is disabled by default.

- Define your settings with the extra name/values needed by your templates::

RENDER_EXTRA_CONTEXT = {...}


------------
Localization
------------

If your site support multiple languages, you will want to create pages on every
language.

tCMS_ uses Django LANGUALES when searching for supported languages, but allows
you to create global language pages, for example if you support ``en-gb`` and
``en-us`` locales, it's possible to define a page with locale ``en`` and it
will be used to server the same content for users requesting for one or other
locale.


---------------
Example proyect
---------------

Check the example_ to see how it works.


.. _tCMS: https://github.com/omab/django-tcms
.. _Mydeco: http://mydeco.com
.. _Insophia: http://insophia.com
.. _github: https://github.com/omab/django-tcms
.. _CKEditor: http://ckeditor.com/
.. _python: http://python.org
.. _example: https://github.com/omab/django-tcms/tree/master/example

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

django-tcms-0.1.4.tar.gz (26.4 kB view hashes)

Uploaded Source

Supported by

AWS AWS Cloud computing and Security Sponsor Datadog Datadog Monitoring Fastly Fastly CDN Google Google Download Analytics Microsoft Microsoft PSF Sponsor Pingdom Pingdom Monitoring Sentry Sentry Error logging StatusPage StatusPage Status page