Skip to main content

Django blogs - module that provide blogs to your django application. - One user blog - Multi blogging system - Blog per user - Safe html in posts - System to manage permissions to read\write\moderate blogs

Project description


**Django blogs** is module that provide configurable blogs for Django projects.

.. contents::

Quick overview

- Using this module, you can implement blogging system in your project.
- This application allows to configure:
- One blog (for companies news blog or for personal blog)
- Multiblogging system (multiple blogs with different topics, for internet societies or instead of forum as more orginized way to share information)
- Blog-per-user system (each user writes in his own blog, useful for companies when each person has it's own blog)
- Mix of blog-per-user and blog-per-topic - multiple blogs with specific topic and each user has own blog (Large internet societies, social networks)
- Post's content is cleaned up to contain only safe html tags. So you can use any JS editor you like (we use
- Each post can have tease which will be shown at when posts are listed, you can configure how will it be cut and how long it can be.
- RSS feeds are available for all types of blogs.


- python >= 2.5
- pip >= 0.8
- django >= 1.2
- django-misc (
- django-pagination
- django-tagging
- django-voter (


- django-threadedcomments (
- django-notification (


**Django blogs** should be installed using pip: ::

pip install git+git://


- Add 'blog' to INSTALLED_APPS ::

INSTALLED_APPS += ( 'blog', )

- Add blog urls to urlpatterns in ::

from blog.feeds import BlogFeedAll, BlogFeedBlog, BlogFeedUser

blogs_feed_dict = {"feed_dict": {
'all': BlogFeedAll,
'blog' : BlogFeedBlog,
'only': BlogFeedUser,

urlpatterns = ('',
(r'^blogs/', include('blog.urls')),
(r'^b/', include('blogs.short_urls')), # For short urls, if you want
(r'^feeds/posts/(?P<url>\w+)/', 'django.contrib.syndication.views.feed', blogs_feed_dict), # Rss feeds

- Copy blog/static/ to your STATIC_URL path

Please, consider templates and css that are in this application - as example how to create your own design.
Note, that I use django-themes ( in my templates.

Configure django-blogs

There are two main settings:

- BLOG_ENABLE_USER_BLOG - enable user blogs, by default TRUE

- BLOG_ENABLE_BLOGS - enable multiblogging system, by default TRUE

Additional settings:

- BLOG_SHORT_POST_MAX_LENGTH - limits to post, that can be without tease, by default - 2048 symbols.

- BLOG_CUT_MAX_LENGTH - limits to size of cut added, by default - 2048 symbols.

- BLOG_CUT_TAG and BLOG_CUT_TAG_SYNONYMS are added to help customize tag that is used to cut post on tease and main content. Defaults: '<hr class="redactor_cut">' as main cut tag, and <!--more--> as one synonym.


Development of django-blogs happens at github:

Note, that I don't like having django-voter as obligatory requirement, and if you have a solution how to make it not to be obligatory but still be able to use it's RatingField as an optional feature - I'm open for suggestion.


Copyright (C) 2013 Illia Polosukhin
This program is licensed under the MIT License (see LICENSE)

Project details

Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution (66.3 kB view hashes)

Uploaded source

Supported by

AWS AWS Cloud computing and Security Sponsor Datadog Datadog Monitoring Fastly Fastly CDN Google Google Download Analytics Microsoft Microsoft PSF Sponsor Pingdom Pingdom Monitoring Sentry Sentry Error logging StatusPage StatusPage Status page