Skip to main content

Extend django-admin to create apps that are easier to set

Project description

This is a django app that trys to simplify using django. Currently it has features that do the following:

  • An easy_app script that allows for creating new django projects that are set up with the djang0-easy-app functionality.
  • A django-easy-app django app has the following functionality that simplify using django.
  • The ability to specify the url routing using a new “route” attribute on django class based view classes. This akes it possible to write and use class based views without needing to understand regular expressions and seperately update the
  • Adds a starteasyapp command to to allow for easily creating additional django-easy-app enabled django apps.


Here are some steps for getting things going

Install django-easy-app

Once django-easy-app has been packaged it will be installable using pip as follows:

pip install django-easy-app

Set up a new django project

Create a new python project using the django_easy command like this:

django_easy startproject project_name app_name


$ django_easy startproject foo_project foo_app
Creating easyapp named: foo_app
$ tree foo_project
├── foo_app
│   ├──
│   ├──
│   ├── migrations
│   │   └──
│   ├──
│   ├──
│   ├──
│   └──
├── foo_project
│   ├──
│   ├── __init__.pyc
│   ├──
│   ├── settings.pyc
│   ├──
│   └──

3 directories, 14 files

Create views

In the file define a variable named “easydjango” and set the value to true.

Make sure each view that should be accessible from the web has a *route* attribute that contains the part of the url that should be associated with the view. This should not include any other part of the url.

So for example foo_app.view.ExampleView below has a route value of ‘’ which will cause it to be accessible at http://hostname:port/foo_app/

from django.http import HttpResponse
from django.views.generic import View

easydjango = True

class NameView(View):
    route = ''
    def get(self, request):
        name = request.GET.get('name', 'World!')
        return HttpResponse('Hello %s' % name)
View without arguments View passing a name argument

Download files

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

Files for django-easy-app, version 0.0.27
Filename, size File type Python version Upload date Hashes
Filename, size django-easy-app-0.0.27.tar.gz (6.7 kB) File type Source Python version None Upload date Hashes View

Supported by

AWS AWS Cloud computing Datadog Datadog Monitoring DigiCert DigiCert EV certificate Facebook / Instagram Facebook / Instagram PSF Sponsor Fastly Fastly CDN Google Google Object Storage and Download Analytics Pingdom Pingdom Monitoring Salesforce Salesforce PSF Sponsor Sentry Sentry Error logging StatusPage StatusPage Status page