I am writing a small web-app with django. It will have no more than 200 users, all internal to my company. I want to set it up as quickly as possible. I am new to django and web-apps.

As I read django's tutorial, they don't recommend using python manage.py runserver to deploy the production server, but they don't give any reasons.

I suspect that for my very modest purposes, django's runserver will do fine. Am I correct? What risks am I running?


From the manage.py documentation:

DO NOT USE THIS SERVER IN A PRODUCTION SETTING. It has not gone through security audits or performance tests. (And that’s how it’s gonna stay.

That's all you need to know to make a decision on this.

If you're deploying a python web app, even for a low-load, internal-use only project, it is still very much worth the extra work to learn a proper way to host the application, as it's quite likely that you'll need to use those skills at some point in the future.

  • What does it mean that it is single-threaded? It means it won't be able to support multiple users using the web-app at the same time? That alone would convince me not to use it! I don't care much for security. As I said, it's for internal use inside a small group of persons. – becko Aug 28 '15 at 19:08
  • This is not my main job, so there is a high change that learning how to properly host a web application won't be that useful to me – becko Aug 28 '15 at 19:10
  • 3
    It will be able to do only one thing at a time, so if it's tied up with a large request from one user, all other users are going to have to wait. It's foolish to state "I don't care much for security". That is the kind of attitude that will end up getting your systems compromised. – EEAA Aug 28 '15 at 19:10
  • 1
    I know this isn't the answer you want to hear, but you asked a question on a site for professional systems administrators. So you're getting a professional answer. Taking shortcuts like this, even in a small environment, will always come back to haunt you in the future, and usually at a time when it's least convenient. – EEAA Aug 28 '15 at 19:16
  • 1
    See documentation here. The development server is multi-threaded by default. Or am I missing something? Please fix this so I can accept your answer again. – becko Aug 31 '15 at 14:23

Your Answer

By clicking "Post Your Answer", you acknowledge that you have read our updated terms of service, privacy policy and cookie policy, and that your continued use of the website is subject to these policies.

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