Changing your

Modifiy your projects file following the next steps:

  1. Check your INSTALLED_APPS:
  # django required contrib apps
  # 3rd-party required apps:
  # and finally:
  1. Configure your database. Here is an example using mysql:
    'default': {
        'ENGINE': 'django.db.backends.mysql', # Add 'postgresql_psycopg2', 'postgresql', 'mysql', 'sqlite3' or 'oracle'.
        'NAME': 'planet',                      # Or path to database file if using sqlite3.
        'USER': '<myuser>',                      # Not used with sqlite3.
        'PASSWORD': '<mypass>',                  # Not used with sqlite3.
        'HOST': '',                      # Set to empty string for localhost. Not used with sqlite3.
        'PORT': '',                      # Set to empty string for default. Not used with sqlite3.
  1. Choose a site id:
  1. For Django 1.8 include the following context processors:
        'BACKEND': 'django.template.backends.django.DjangoTemplates',
        'DIRS': [
        'APP_DIRS': True,
        'OPTIONS': {
            'context_processors': [

If you’re still using Django 1.6.x or 1.7.x, then set TEMPLATE_CONTEXT_PROCESSORS this way:

  1. Check your middlewares to include:

Please do not forget pagination.middleware.PaginationMiddleware middleware!

  1. Add planet configuration variables:
    "USER_AGENT": "My Planet/1.0",
  1. Properly configure your static files root directory:
STATIC_URL = '/static/'
  1. Only for Django 1.6.x or 1.7.x set your projects templates root directory:
    # other paths...

and your template loaders:

    # some other template loaders here...
  1. Finally in your project’s templates directory create a site_base.html template if you don’t already have one:
{% extends "base.html" %}
  1. Optionally, modify cookie names so you don’t have login conflicts with other projects:
LANGUAGE_COOKIE_NAME = "myplanetlng"
SESSION_COOKIE_NAME = "myplanetid"

Congratulations! Your settings are complete. Now you’ll need to change other files in order to get a running project.

Enable planet urls

  1. Add the planet urls include to your project’s (remember to also include admin urls so you can use the admin to manage your planet!):
from django.conf.urls import patterns, include, url

from django.contrib import admin

urlpatterns = patterns('',
    url(r'^', include('planet.urls')),
    url(r'^admin/', include(,
    # ... other url bits...

Syncdb and add some feeds!

  1. Then create the database structure:

    ./ syncdb
  2. Add some feeds:

    python planet_add_feed
    python planet_add_feed
  3. And surely you’ll want to add a cron entry to periodically update them all:

    30 * * * * python planet_update_all_feeds

This attempts to pull in new posts every 30 minutes.

  1. Now you’re done. Just run:

    ./ runserver

and browse your planet at http://localhost:8000/ in your favorite browser!