11

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?

1

1 Answer 1

5

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.

12
  • 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.
    – a06e
    Aug 28, 2015 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
    – a06e
    Aug 28, 2015 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, 2015 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, 2015 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.
    – a06e
    Aug 31, 2015 at 14:23

You must log in to answer this question.

Not the answer you're looking for? Browse other questions tagged .