Installation

Requirements

  • Django 1.7+
  • Postgres or MySQL
  • Django Admin - django.contrib.admin
  • Humanize - django.contrib.humanize

Note

Django Name is intended to be installed within a Django project. If you are unfamiliar with Django, check out the docs.

Installation

  1. Install the package from PyPI.

    $ pip install django-name
    
  2. Add name to your INSTALLED_APPS. Be sure to add django.contrib.admin and django.contrib.humanize if they are not already present.

    INSTALLED_APPS = (
        'django.contrib.admin',
        'django.contrib.humanize',
        # ...
        'name',
    )
    
  3. Configure the context processors.

  • For Django 1.7

    from django.conf.global_settings import TEMPLATE_CONTEXT_PROCESSORS
    
    TEMPLATE_CONTEXT_PROCESSORS += (
        'django.core.context_processors.request',
        'name.context_processors.name'
    )
    
  • For Django 1.8+

    TEMPLATES = [
        {
            'BACKEND': '...',
            'APP_DIRS': True,
            'OPTIONS': {
                'context_processors': [
                    # ...
                    'django.contrib.auth.context_processors.auth',
                    'django.template.context_processors.request',
                    'name.context_processors.name'
                ],
                # ...
            },
        },
    ]
    

Note

The request context processor is required by the Name app. The built-in templates require access to request parameters. The name processor enables the filter component of the search action as well as some optional branding (see Branding).

  1. Include the URLs.

    urlpatterns = [
        # ...
        url(r'^name/', include('name.urls', namespace='name'))
    ]
    
  2. Migrate the database.

    $ ./manage.py migrate name
    
  3. Optional: Load the Identifier Type fixtures. See Loading Fixtures.

Loading Fixtures

Note

This is an optional installation step.

The app comes with a fixture of predefined Indentifier Types. Issue one of the following commands below install them.

$ ./manage.py loaddata --app name identifier_types