Josh VanderLinden avatar Josh VanderLinden committed 71e0b7e

#7 - Updated the README to tell people that the request context processor is
important.

#8 - Fixed a missing import.

Included a sample project.

Comments (0)

Files changed (11)

 * ``DISQUS_FORUM_SHORTNAME``: The name of your Disqus site.  This is what's
   used to link comments to your site.
 
+Also, make sure that you have the following context processors in your
+``TEMPLATE_CONTEXT_PROCESSORS`` tuple:
+
+    * ``django.contrib.auth.context_processors.auth``
+    * ``django.core.context_processors.i18n``
+    * ``django.core.context_processors.media``
+    * ``django.core.context_processors.request``
+
 Template Integration
 ====================
 

articles/__init__.py

-__version__ = '2.0.3'
+__version__ = '2.0.5'
 
 """
 The Pygments reStructuredText directive

articles/feeds.py

 from django.conf import settings
-from django.contrib.syndication.feeds import Feed
+from django.contrib.syndication.feeds import Feed, FeedDoesNotExist
 from django.contrib.sites.models import Site
 from django.core.cache import cache
 from django.core.urlresolvers import reverse

articles/templates/base.html

 {% block extra-head %}{% endblock %}
 </head>
 <body>
-<h1>My Site</h1>
+<h1><a href="/">My Site</a></h1>
 {% block content %}{% endblock %}
 {% block sidebar %}
     {% block recent_articles %}
+django
+docutils
Add a comment to this file

sample/articles_demo/__init__.py

Empty file added.

Add a comment to this file

sample/articles_demo/demo.db

Binary file added.

sample/articles_demo/manage.py

+#!/usr/bin/env python
+from django.core.management import execute_manager
+try:
+    import settings # Assumed to be in the same directory.
+except ImportError:
+    import sys
+    sys.stderr.write("Error: Can't find the file 'settings.py' in the directory containing %r. It appears you've customized things.\nYou'll have to run django-admin.py, passing it your settings module.\n(If the file settings.py does indeed exist, it's causing an ImportError somehow.)\n" % __file__)
+    sys.exit(1)
+
+if __name__ == "__main__":
+    execute_manager(settings)

sample/articles_demo/settings.py

+# Django settings for articles_demo project.
+import os
+DIRNAME = os.path.abspath(os.path.dirname(__file__))
+
+DEBUG = True
+TEMPLATE_DEBUG = DEBUG
+
+ADMINS = (
+    # ('Your Name', 'your_email@domain.com'),
+)
+
+MANAGERS = ADMINS
+
+DATABASES = {
+    'default': {
+        'ENGINE': 'django.db.backends.sqlite3', # Add 'postgresql_psycopg2', 'postgresql', 'mysql', 'sqlite3' or 'oracle'.
+        'NAME': 'demo.db',                      # Or path to database file if using sqlite3.
+        'USER': '',                      # Not used with sqlite3.
+        'PASSWORD': '',                  # 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.
+    }
+}
+
+# Local time zone for this installation. Choices can be found here:
+# http://en.wikipedia.org/wiki/List_of_tz_zones_by_name
+# although not all choices may be available on all operating systems.
+# On Unix systems, a value of None will cause Django to use the same
+# timezone as the operating system.
+# If running in a Windows environment this must be set to the same as your
+# system time zone.
+TIME_ZONE = 'America/Chicago'
+
+# Language code for this installation. All choices can be found here:
+# http://www.i18nguy.com/unicode/language-identifiers.html
+LANGUAGE_CODE = 'en-us'
+
+SITE_ID = 1
+
+# If you set this to False, Django will make some optimizations so as not
+# to load the internationalization machinery.
+USE_I18N = True
+
+# If you set this to False, Django will not format dates, numbers and
+# calendars according to the current locale
+USE_L10N = True
+
+# Absolute path to the directory that holds media.
+# Example: "/home/media/media.lawrence.com/"
+MEDIA_ROOT = os.path.join(DIRNAME, 'static')
+
+# URL that handles the media served from MEDIA_ROOT. Make sure to use a
+# trailing slash if there is a path component (optional in other cases).
+# Examples: "http://media.lawrence.com", "http://example.com/media/"
+MEDIA_URL = '/static/'
+
+# URL prefix for admin media -- CSS, JavaScript and images. Make sure to use a
+# trailing slash.
+# Examples: "http://foo.com/media/", "/media/".
+ADMIN_MEDIA_PREFIX = '/media/'
+
+# Make this unique, and don't share it with anybody.
+SECRET_KEY = 'e9gni^br@&+ypal%p)c4qps0w5^pv%rrcior)z3d=*42k-)_8m'
+
+# List of callables that know how to import templates from various sources.
+TEMPLATE_LOADERS = (
+    'django.template.loaders.filesystem.Loader',
+    'django.template.loaders.app_directories.Loader',
+#     'django.template.loaders.eggs.Loader',
+)
+
+MIDDLEWARE_CLASSES = (
+    'django.middleware.common.CommonMiddleware',
+    'django.contrib.sessions.middleware.SessionMiddleware',
+    'django.middleware.csrf.CsrfViewMiddleware',
+    'django.contrib.auth.middleware.AuthenticationMiddleware',
+    'django.contrib.messages.middleware.MessageMiddleware',
+)
+
+ROOT_URLCONF = 'articles_demo.urls'
+
+TEMPLATE_DIRS = (
+    os.path.join(DIRNAME, 'templates')
+)
+
+TEMPLATE_CONTEXT_PROCESSORS = (
+    'django.contrib.auth.context_processors.auth',
+    'django.core.context_processors.debug',
+    'django.core.context_processors.i18n',
+    'django.core.context_processors.media',
+    'django.contrib.messages.context_processors.messages',
+)
+
+INSTALLED_APPS = (
+    'django.contrib.admin',
+    'django.contrib.auth',
+    'django.contrib.contenttypes',
+    'django.contrib.humanize',
+    'django.contrib.markup',
+    'django.contrib.messages',
+    'django.contrib.sessions',
+    'django.contrib.sites',
+    'django.contrib.syndication',
+
+    'articles',
+)
+
+# Change this to be your Disqus site's short name
+# DISQUS_FORUM_SHORTNAME = 'short_name'
+
+# Put your Disqus API key here (only necessary if you're porting comments from django.contrib.comments)
+# DISQUS_USER_API_KEY = 'short_name'
+
+# Configure articles from email
+# ARTICLES_FROM_EMAIL = {
+#     'protocol': 'IMAP4',
+#     'host': 'mail.yourserver.com',
+#     'port': 9000,
+#     'keyfile': '/path/to/keyfile',
+#     'certfile': '/path/to/certfile',
+#     'user': 'your_username',
+#     'password': 'your_password',
+#     'ssl': True,
+#     'autopost': True,
+#     'markup': 'r',
+#     'acknowledge': True,
+# }

sample/articles_demo/static

+../../articles/media/

sample/articles_demo/urls.py

+from django.conf.urls.defaults import *
+from django.contrib import admin
+admin.autodiscover()
+
+urlpatterns = patterns('',
+    (r'^admin/', include(admin.site.urls)),
+    (r'^', include('articles.urls')),
+)
Tip: Filter by directory path e.g. /media app.js to search for public/media/app.js.
Tip: Use camelCasing e.g. ProjME to search for ProjectModifiedEvent.java.
Tip: Filter by extension type e.g. /repo .js to search for all .js files in the /repo directory.
Tip: Separate your search with spaces e.g. /ssh pom.xml to search for src/ssh/pom.xml.
Tip: Use ↑ and ↓ arrow keys to navigate and return to view the file.
Tip: You can also navigate files with Ctrl+j (next) and Ctrl+k (previous) and view the file with Ctrl+o.
Tip: You can also navigate files with Alt+j (next) and Alt+k (previous) and view the file with Alt+o.