Table Of Contents

This Page

Overview

Plugins-based content management System for dynamic applications written in Python and Javascript

Web:http://djpcms.com/
Documentation:http://djpcms.com/docs/
Dowloads:http://pypi.python.org/pypi/djpcms/
Source:http://github.com/lsbardel/djpcms
Keywords:web, cms, dynamic, ajax, django, jquery

Djpcms is a dynamic Content Management System which uses Python with django on the server side and Javascript with jQuery on the browser side. It is designed to handle dynamic applications which require high level of customization. Lots of AJAX enabled features including inline editing, autocomplete and ajax forms.

It is based on django, but it works for other object relational mappers too!

Features

  • Dynamic pages based on database models, not only django models!

  • If you need more than django and stdnet models, register your model type and off you go:

    from djpcms.core.models import ModelTypeWrapper, register
    
    class MyModelType(ModelTypeWrapper):
    
        def setup(self):
            '''Set up your model type for djpcms interaction'''
    
        def test(self, model):
            '''test if model is a type handled by this wrapper'''
    
    register('mymodeltype',MyModelType)
    
  • Extendible using plugins:

    from djpcms.plugins import DJPplugin
    
    class MyPlugin(DJPplugin):
    
        def render(self, djp, **kwargs):
            ...
    
  • Inline editing of plugins and pages.

  • Autocomplete for models when the autocomplete view is added to the model application.

  • Extendible AJAX decorators.

  • Tagging with django-tagging (optional).

  • Several battery included application classes.

  • Integration of any Django app which provides urls.py.

  • Nice form layout with extendible uniforms.

  • Deployment tools using fabric.

  • South support for database migration.

  • Sitemap design.

Installing

You can download the latest archive from pypi, uncompress and:

python setup.py install

Otherwise you can use pip:

pip install djpcms

or easy_install:

easy_install djpcms

Running tests

On the top level directory type:

python runtests.py

Otherwise, once installed:

import djpcms
djpcms.runtests()

Dependencies

It requires Python 2.6 or above. It is not yet compatible with Python 3 series. Currently it depends on django, however in the long run, this dependency will be removed so that it can be used with other web-frameworks as well.

Optional requirements: