Skip to content
Arun Ravindran edited this page Feb 21, 2015 · 40 revisions

Welcome to the edge v2.0!

edge - a rapid, cutting-edge Django project skeleton. More screenshots below:

screenshot

Features

  • Python 2.7 and 3.4 support - the same codebase works on the latest Python versions
  • Django 1.7 support - e.g. no south dependency
  • Sign-ups and Log-ins - Basic user registration, log-ins, forgot password etc. using crispy forms
  • User Profiles - extendible user profile with great defaults like profile picture
  • Bootstrap bundled - Themed Bootstrap 3 based home page and admin out of the box
  • Clean start - Based on Django 1.7 project structure
  • Secrets Secure - Picks SECRET_KEY from environment as a best practice
  • Minimal dependencies - Only essential packages listed in requirements.txt not all recommended ones

Warning: Software is currently beta and bleeding edge.

Motivation

  • Django programmers are not designers. They need a better starting point say, with Bootstrap.
  • Writing code for signup, login and user profiles seems repetitive in every project.
  • Many project skeletons contain numerous recommended packages making them bloated.
  • None of the project skeletons were Python 3 and Django 1.7 compatible at the time of creating the project.
  • Simpler and less annoying user authentication for rapid prototyping
  • Better layout (a subjective preference) that is intuitive to use.

More details in this blog post

Which packages were included and why?

  • django-environ - By default, settings has environment specific information. This package helps you define such variables in the environment which is more secure.
  • django-authtools - Custom user model and class based auth views.
  • django-crispy-forms - Provides the Sign-in and Sign-up forms.
  • django-braces - Essential set of mixins used for the included views
  • django-admin-bootstrapped - Added Bootstrap 3 theme to the admin
  • easy-thumbnails - (optional) for profile picture thumbnails.

Quick start:

Skip the next set of commands if you already know how to create a virtual environment. Here is how to create a new virtual environment in Python 3.4 using the built-in venv library:

$ python3.4 -m venv py34env
$ . py34env/bin/activate

Check if Django is installed. It is needed for django-admin command to work.

$ pip install -U django

Use the following commands but change my_proj (at end of first command and other places) to the name of your project:

$ django-admin.py startproject --template=https://github.com/arocks/edge/archive/master.zip --extension=py,md,html,env my_proj
$ cd my_proj
$ pip install -r requirements.txt 
$ cd src
$ python manage.py migrate

Project is on Github: https://github.com/arocks/edge. Please raise an issue there if you notice any bugs and would like to request features.

Customisation Tips:

  1. Brand Name: Edit src/templates/_brandname.html. Or use a one-liner:

     echo "Fantasy Quidditch" > src/templates/_brandname.html
    
  2. Logo: Change src/static/site/img/logo.png. Or use a one-liner:

     curl -o src/static/site/img/logo.png http://icons.iconarchive.com/icons/iconka/harry-potter/32/broom-icon.png
    
  3. Banner: Change src/static/site/img/banner.jpg. Or use a one-liner:

     curl -o src/static/site/img/banner.jpg https://farm8.staticflickr.com/7153/6709315743_5412d64169_o_d.png
    
  4. Bootstrap Theme: Change src/static/bootstrap/css/bootstrap.min.css. Or use a one-liner:

     curl -o src/static/bootstrap/css/bootstrap.min.css http://bootswatch.com/paper/bootstrap.min.css
    
  5. Settings: Set environment vars. Move local.env out of git.

  6. Authentication: Open src/accounts/views.py to customize the authentication flows like signup or login.

Changelog

=== (2015-02-21) ===

  • User model customized to use emails as primary key
  • User profile model with profile picture field
  • requirements and settings now split into environment files
  • More details in https://github.com/arocks/edge/issues/10

=== (2014-09-12) ===

  • Added django-environ and pathlib
  • Added Sign-in, Sign-up, logout functionality.
  • Admin now has bootstrap theme.

=== (2014-09-01) ===

  • initial release

Screens

After Log-in

After Log-in

Anonymous Visitor

Anonymous Visitor

Credits

Proposed Features

Completed or partially done:

Clone this wiki locally