Skip to content

Latest commit

 

History

History
66 lines (44 loc) · 1.35 KB

README.rst

File metadata and controls

66 lines (44 loc) · 1.35 KB

What is it?

Django is awesome, but starting a new project in it is a pain. importd is inspired from ruby's sinatra. Hello world django project:

from importd import d
d(DEBUG=True)

@d("/")
def idx(request):
   return "index.html"

@d("/post/<int:post_id">/")
def post(request, post_id):
   return "post.html", {"post_id": post_id}

To run it:

$ python foo.py

This will start the debug server.

To run it in production:

$ gunicorn foo:d

An example app: https://github.com/amitu/importd/blob/master/foo.py

Features

  • fully compatible with django
  • supports smarturls
  • most of regularly used django functions and classes available in d. namespace, eg d.HttpResponse, d.render_to_response, d.get_object_or_404 etc
  • automatically maps "templates" folder in foo.py directory to serve templates
  • automatically maps "static" folder in foo.py to serve static content
  • management commands still available: $ python foo.py shell
  • wsgi compliant
  • gunicorn support
  • works seamlessly with fhurl (http://packages.python.org/fhurl/)

Installation

$ easy_install importd

Documentation

docs: http://amitu.com/importd/

ToDo/Known Issues

  • figure our whats going on with double imports
  • figure out whats going on when gunicorn exits