Alex Rivera | Logout

Use only some parts of Django?

Asked 2008-11-19T17:14:42.963
42

I like Django, but for a particular application I would like to use only parts of it, but I'm not familiar enough with how Django works on the inside, so maybe someone can point me into the right direction as to what I have to check out.

Specifically, I want to use:

  • The models and database abstraction
  • The caching API, although I want to avoid database lookups by caching, not HTML generation, and since the caching framework in Django is intended for the latter, I'm not sure yet whether that's really appropriate.

I would not use:

  • Templating
  • urlconfigs

Or, more exactly, I'm neither using HTTP nor HTML. So basically, I have a different input / output chain than usual.

Can this work?

My personal killer feature in Django is the Object / database mapping that I can do with the models, so if there's another technology (doesn't have to be Python, I'm in the design phase and I'm pretty agnostic about languages and platforms) that gives me the same abilities, that would be great, too.

Edit
Report

1 Answer

13

Django, being a web framework, is extremely efficient at creating websites. However, it's also equally well-suited to tackling problems off the web. This is the loose coupling that the project prides itself on. Nothing stops you from installing a complete version of Django, and just using what you need. As a rule, very few components of Django make broad assumptions about their usage.

Specifically:

  • Django models don't know anything about HTML or HTTP.
  • Templates don't know anything about HTML or HTTP.
  • The cache system can be used to store anything that can be pickled.

One of the main things you'll face when trying to use Django without a web server is setting up the environment properly. The ORM and cache system still need to be configured in settings.py. There are docs on using django without a settings module that you may find useful.

answered 2008-11-20T04:46:55.530

Your Answer