After you hook django-projector into your project (see Installation) you should probably change some of configuration variables.

Available settings

Those configurable variables should be defined at the project’s settings module, just like standard Django’s variables.


Default: False

If set to True, any change to project would send an email to each projects’ members regardless of their individual preferences.



    'account', 'accounts',
    'admin', 'admins',
    'author', 'authors',
    'category', 'categories',
    'edit', 'edits',
    'issue', 'issues',
    'mail', 'mails',
    'message', 'messages',
    'manager', 'managers',
    'profile', 'profiles',
    'register', 'registration',
    'task', 'tasks',
    'user', 'users',

List of names which are restricted during project creation.


By specifying own list, we in fact extend default list. We mention this as most of the settings are overridable - this one is not.


Default: 'Projector Basic Auth'

Text which would appear during basic authorization process within projector’s context. Projects’ owners can override this per project.


Default: 10

Number of changesets listed at one page.


Default: True

When new project is created some actions are made using Djangos’ signals. By default those actions are made asynchronousely by new thread in order not to block client.


Default: projector.conf.default_workflow

Path to object defining default workflow for new projects.

Object must define following iterables: components, task_types, priorities and statuses. Each one should contain dictionaries with following key/value pairs:

  • components: name
  • task_types: name, order
  • priorities: name, order
  • statuses: name, oder, is_resolved, is_initial

See source code pointed by default value for more detail.


Default: 'hg'

One of aliases specified at PROJECTOR_ENABLED_VCS_BACKENDS. See vcs’s documentation for available aliases.




List of permission codenames allowed to be edited by projects’ owners.


Removing variables from this tuple (by setting own with subset of available permissions) would not affect permissions - it only tells projector to show forms for permission editing with specified codenames.


Default: ['hg', 'git']

Iterable of vcs aliases. To check what backends are available run:

>>> import vcs
>>> vcs.backends.BACKENDS.keys()
['hg', 'git']

See more at vcs’s documentation.


Default: False

If set to True users would be allowed to fork projects from external locations (read more at External fork).


We DO NOT take any responsibility caused by using external forking. Reason is simple - some users could use this functionality to attack external hosts by sending crafted values to the fork form. This should be validated by the form first, though.



    '': 'projector.forks.bitbucket.BitbucketForkForm',
    '': 'projector.forks.github.GithubForkForm',

Dictionary of forms to be used for external forking. Keys would be used as choices at the first step of external forking process. Values should be paths to the fork form. Read more at External fork.


Default: would try to get value from settings.DEFAULT_FROM_EMAIL.

Email address used as sender for all mails send by projector.


Default: False.

If set to True, underlying mercurial engine would transmit data using encryption. This setting has precedence over vcs specific configuration.


Default: 'HIDDEN_EMAIL'.

Used as default substitution for hidden emails while using projector.templatetags.hide_email() filter (if no parameter is specified).


Default: 50

Specifies maximum number of projects one user may create.


Default: 60 (60 days)

This is default value of time delta (in days) added to current date during milestone creation.


Default: 15000 (15 seconds)

After user created a project, he/she need to wait for time specified with this setting until another project may be created by him/her.


Default: False

If True then only private projects may be created. Does not affect existing projects.


Default: None

If not specified, no repositories would be created. Must be valid directory path.


Default: projector.utils.helpers.get_homedir

Location of the function which should return relative project path. In order to calculate full path of homedir, projector.models.Project calls pointed function and appends result to the PROJECTOR_PROJECTS_ROOT_DIR value.

It is possible to change this location and override function. It takes one required project parameter - instance of projector.models.Project. Default implementation returns simply stringified primary key of the given project.



"[$project] #$id: $summary"

This is default subject format for messages related with tasks. Allows to move name placeholders ($project, $id, $summary). All placeholders are optional - but adviced, obviousely.