/django-skeleton

Skeleton and project template for Django 1.7.

Primary LanguageHTMLGNU General Public License v3.0GPL-3.0

django-skeleton

Skeleton project for Django applications.

Build Status Coverage Status

Django version: 1.7.8

Features

Pre configured Python/Django features:

  • Advanced page and data cache examples
  • Using of HTML minifiers and assets compressions
  • Database optimised Model examples
  • Robots.txt and dynamic generation of sitemaps
  • Advanced usage of Class Based Views with custom pagination (which additionally passes all request GET parameters to view, it might be useful for custom filter)
  • Data compression (with installed security debreach package)
  • Localization
  • Custom user authentication with user profile
  • Multiple form support
  • Model history and reversion (possibility to back to old versions of the model)
  • Management commands for initial configuration
  • Customized Django Suit based administration
  • Pre configured specific folders of Django application (fixtures, media, static, etc.)
  • Email subscription
  • Contact and Application database
  • Using thumbnail for images
  • Slider
  • Logging
  • Switching between languages (data related and django localization)
  • User password change, restore model

Pre configured 3rd party packages:

  • REST Framework
  • Import Export (Import and Export to and from most popular file formats such as xml, csv, etc.)
  • CKEditor (also configured to support file upload)
  • Django Select2 (Auto select for administration)
  • Easy Thumbnails

Additional applications:

  • Blog application
    • Widgets
    • Static pages
    • Posts
    • Post categories
    • Slider
    • Beep (simple twitter like model logic)
    • Blog API

Install

To install Django Skeleton on your machine run following commands:

Clone the project

git clone https://github.com/KenanBek/django-skeleton.git
cd django-skeleton

Create virtual environment and install requirements

virtualenv env
.\env\Scripts\activate
pip install -r requirements.txt

Initialize and run the application

cd app
python manage.py init
python manage.py runserver

"python manage.py init" command will ask you to set password for administration user.

Visit http://localhost:8000 for website, http://localhost:8000/admin for administration.

Demo

Available version for demo: 1.5

Visit Website and Admin to try Django Skeleton on demand.

Superuser login and password:

Login: admin
Password: admin

Recommendations

Configure following things if you are going to use this skeleton on your projects:

  • Change SECRET_KEY
  • Configure django sites (enter correct name and address for the site)
  • Configure application settings (settings.py)
  • Configure robots.txt and sitemaps
  • Configure social accounts' id and urls
  • Configure buttons.js publisher id

Needs to be explained in Documentation

  • Organisation of User, Moderator and Administration parts
  • Structure of blocks of Templates for User and Moderator

License

Licensed under GNU GPL v3.0