Reputation: 11523
I have a little forum that is already deployed and working. I just found out something is wrong with the Twitter login and I need to debug it. Right now it returns a 500 page. I can't know what is wrong with Debug = True. But if I turn it on, then I'll be violating Django security best practices, and if someone saves the info in the debug page (with Debug=False) and has bad intentions, he could cause lots of trouble. What would you recommend?
Upvotes: 3
Views: 3698
Reputation: 28883
ALLOWED_HOSTS
. If you haven't configured it and set DEBUG=False
you'll see a SuspiciousOperation raised.DEBUG=False
? That's often a quick way to find out about some more esoteric errors.To follow up based on the comments you'll need to turn DEBUG
on in a somewhat live environment. The standard way to do this would be to have a separate staging environment from the live one. Since Heroku is being used you can easily spin up a separate environment and set DEBUG=True
there. Then you'll see the full error pages, fix the error, and deploy to production where DEBUG=False
.
Another idea is to setup a third-party exception handling system like Raygun or Bugsnag. Adding this to the production application will give you reports when exceptions are thrown. This is a big upgrade over Django's default email-on-error behavior.
Upvotes: 2