.. _topics-settings:

==========================
Full list of settings
==========================

.. module:: djpcms.settings

A Django settings file doesn't have to define any ``djpcms`` settings if it doesn't need
to. Each setting has a sensible default value. These defaults live in the
:file:`djpcms/conf/djpcms_defaults.py` module.

Here's a full list of all available settings, in alphabetical order, and their
default values.


.. setting:: APPLICATION_URL_MODULE

APPLICATION_URL_MODULE
---------------------------------
default: ``None``

The python dotted path to the application urls module.
This module is where applications can be registered to the site.
If not provided, no dynamic application will be available.

See: :ref:`topics-applications-index`


.. setting:: CONTENT_INLINE_EDITING

CONTENT_INLINE_EDITING
-------------------------

default::

	{
	'available': True,
	'preurl': 'edit-content',
	'pagecontent': '/site-content/',
	'width': 600,
	'height': 400
	}

Dictionary of information for `inline content editing`.

* ``preurl`` is the prefix to add to a page url in editing mode.
* ``pagecontent`` defines the base url for editing page contents. It must contain trailing slashes.
* ``width`` and ``height`` are the size of the floating dialog used for editing plugin content.

.. hint:: Check out the :ref:`inline editing <inline-editing>` documentation for more information.

.. setting:: DEFAULT_TEMPLATE_NAME

DEFAULT_TEMPLATE_NAME
---------------------------

default: ``['base.html','djpcms/base.html']``

A list of template files or a string.
Used when no :attr:`djpcms.models.Page.template` is specified.



.. setting:: DJPCMS_MARKUP_MODULE

DJPCMS_MARKUP_MODULE
-------------------------

default: ``'djpcms.utils.markups'``

Python dotted path to the markup module. This module exposes four functions:

* ``choices()`` return a iterable over two-element tuple.
* ``get(name)`` return the handle for rendering with markup *name*.
* ``add(handle)`` add a new markup handle.
* ``default()`` return the default markup handle.

.. seealso::

	This setting is used in the :class:`djpcms.plugins.text.Text` plugin.


.. setting:: DJPCMS_PLUGINS

DJPCMS_PLUGINS
----------------------

Default: ``['djpcms.plugins.*]``

A list of python dotted paths to where plugins are defined.

.. hint:: Check out the :ref:`plugins <plugins-index>` documentation for more information.


.. setting:: DJPCMS_SITE_MAP

DJPCMS_SITE_MAP
-------------------------

default: ``True``

if ``False`` sitemap won't be added to the urls.


.. setting:: DJPCMS_STYLING_FUNCTION

DJPCMS_STYLING_FUNCTION
---------------------------

default: ``None``

A python dotted path to a styling function which takes ``request``
as the only parameter.


.. settings:: DJPCMS_STYLE

DJPCMS_STYLE
-------------------

Default: ``'smooth'``

Css style to be included in pages. If you don't want to include any styling from ``djpcms`` set the value to ``None``.



.. setting:: ENABLE_BREADCRUMBS

ENABLE_BREADCRUMBS
-------------------------
Default: ``1``

If set to 0, no bread crumbs support, otherwise it indicates from which level to start generating
bread-crumbs (usually 1 or 2).


.. setting:: GOOGLE_ANALYTICS_ID

GOOGLE_ANALYTICS_ID
-------------------------
Default: ``None``

ID for Google Analytics.



.. setting:: GRID960_DEFAULT_FIXED

GRID960_DEFAULT_FIXED
--------------------------
Default: ``True``

If set to True (the default), the grid 960 layout is fixed at 960px, otherwise is floating to the whole page.
See `960 grid system <http://960.gs/>`_ and `fluid 960 grid system <http://www.designinfluences.com/fluid960gs/>`_ 



.. setting:: HTML_CLASSES

HTML_CLASSES
----------------

Default: ``djpcms.ajaxhtml.ajaxhtml()``

Instance of djpcms.ajaxhtml.ajaxhtml. It contains a dictionary of css classes which may define particular
javascript decorators or simple css styling.

See: :ref:`topics-javascript-index`


.. setting:: SERVE_STATIC_FILES

SERVE_STATIC_FILES
----------------------

Default: ``True``

Whether static files are served by the server running the Django
site (and therefore included in the urls) or not. It should be set to ``True`` only during development.


.. SETTING:: SITE_NAVIGATION_LEVELS

SITE_NAVIGATION_LEVELS
--------------------------------

Default: ``2``

Number of nested levels in the main site navigation. This setting is used by the
main site navigation which can be found in the context dictionary at key ``sitenav``.
To include the site navigation in your page add::

	{{ sitenav.render }}
	
somewhere in your template file.

.. seealso::

	Check out the ``djpcms/bits/navitem.html`` template which renders the navigation.