Programmers Stack Exchange is a question and answer site for professional programmers interested in conceptual questions about software development. Join them; it only takes a minute:

Sign up
Here's how it works:
  1. Anybody can ask a question
  2. Anybody can answer
  3. The best answers are voted up and rise to the top

Is Django a good solution for creating applications that won't use any database and communicate only through an internal API?

share|improve this question

closed as primarily opinion-based by MichaelT, Dan Pichelman, Kilian Foth, ratchet freak, gnat Nov 17 '14 at 10:36

Many good questions generate some degree of opinion based on expert experience, but answers to this question will tend to be almost entirely based on opinions, rather than facts, references, or specific expertise.If this question can be reworded to fit the rules in the help center, please edit the question.

Yes. Since that's probably not helpful, you might want to provide more details and what your alternative choices are. – S.Lott Dec 13 '11 at 18:12
Why not just use any other language, say JavaScript? – NoChance Dec 14 '11 at 17:51
There are other great Python frameworks. Take a look on Flask for example. – Anton Barkovsky Dec 14 '11 at 20:14
This question might be better at Web Applications – Dipan Mehta Feb 14 '12 at 16:30
up vote 8 down vote accepted

Depends what you call 'good'.

However, while you can use django with no database, the object-relational mapper is pretty much its first and foremost advertised feature. Django was designed to produce database-backed web sites, so if you're not going to use a database you might end up dealing with a bunch of unnecessary hassle.

share|improve this answer

Although there is nothing stopping you from not using a DB in Django, my advice would be: "If you don't need a full stack framework, don't use a full stack framework". Python has many excellent microframeworks that might suit your needs better.

This blog post discusses some of them:

My personal favorite is Flask:, but I have not done much real work with it.

share|improve this answer
Using a micro-framework is an excellent suggestion and one I would highly recommend for such a use case. – Cromulent May 24 '12 at 15:10

From the Django book:

Django is well suited for making database-driven Web sites, as it comes with easy yet powerful ways of performing database queries using Python.

You can use the framework to make a site with some logic in it, but you will be wasting some of its potential. Besides, interacting with the database from Django layer is too easy to ignore it.

share|improve this answer
The point is not necessarily related to ease of use. On may also want to exclude a database because it is not needed one does not want a database dependence included in the library (even with sql-lite, that requires extra software installed on a target system). Moreover, including a dummy database for the sake of pragmatics can cause it to be used unexpectedly (for example because the auth app is included), resulting in unanticipated system features (which can be bad). Ergo no db for lean and mean. – Herbert Feb 24 at 12:13

Django comes with inbuilt sqllite database. Which doesn't require much configurations. And when it comes to the use django without database then it simply violates the MTV pattern of Django.

share|improve this answer
sqlite isn't a database you can use in production, it doesn't exactly scale for large websites. And the model doesn't have to come from a database. – Martijn Pieters Aug 26 '14 at 21:54
Yes for production purposes sqlite can't be used. It can only be used for development purposes. For large websites postgresql, mysql, oracle are the options. – tinker21 Aug 27 '14 at 3:23

Not the answer you're looking for? Browse other questions tagged or ask your own question.