Skip to main content

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 LANGUAGES 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.

Metadata

Release files for django-tcms 0.1.11

For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.

Source distribution (sdist)

Source distribution for django-tcms 0.1.11
File Size Uploaded Provenance
django-tcms-0.1.11.tar.gz 92.7 kB Without provenance Details

Release files / django-tcms-0.1.11.tar.gz

Download URL django-tcms-0.1.11.tar.gz
Size 92.7 kB
Tags Source
SHA-256 checksum
How to use checksums
6ad6ea3d027c4739c04b03805c985983ebdb5ea6ee61d5a2901974522ec48edd
BLAKE2b-256 checksum
How to use checksums
c49548024a9e6769c702f736cabe76fb7a5492b798af4dc3416f2e59ecbd86a9
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No

Security for django-tcms 0.1.11

Provenance

Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.

No provenance found

None of the files in this release were uploaded with provenance metadata.

A note on package security

PyPI is a repository for distributing packages, not a service for auditing them. While third-party security researchers and our staff do their best to detect and remove malicious packages, PyPI cannot guarantee the quality, security or suitability of any given package.

Anthropic, PBC Visionary sponsor Bloomberg Visionary sponsor Hudson River Trading Visionary sponsor Meta Visionary sponsor NVIDIA Visionary sponsor Microsoft Sustainability sponsor Depot Continuous Integration AWS Cloud computing and Security Sponsor Datadog Monitoring Fastly CDN Google Download Analytics Sentry Error logging StatusPage Status page