基于django的迷你框架:importd

jopen 10年前

受 Sinatra 启发基于Django的微型框架。完全兼容django。

Django很棒,但利用它开始开发一个新的项目是痛苦的。importd受来自ruby的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}    if __name__ == "__main__":      d.main()

To run it:

$ python foo.py

This will start the debug server.

To run it in production:

$ gunicorn foo:d

特性

  • 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/)
  • Auto Add django-debug-toolbar (Needs to add it manually to INSTALLED_APPS)
  • Auto SECRET_KEY: If no SECRET_KEY on settings, try to read SECRET_KEY from ./secret.txt , if no ./secret.txt generate a random string then write it to ./secret.txt and finally return it as SECRET_KEY.
  • Auto Add coffin/django-jinja (jinja2 integration)

项目主页:http://www.open-open.com/lib/view/home/1416295591102