1👍
As you are getting a 500 Internal server error one could assume that there is an issue in your view handler code. It’s hard to say what’s causing it really, so you should try to figure why it’s happening. From looking at your code I can see two things that might cause this error.
First you are using dict
as a variable name, which is probably a bad idea since dict
is a built-in type in python.
The other possible cause could be the way your are accessing the req
dict. You are accessing the keys username
, password
and game_id1
. If any of these should be missing in the dict it will throw a KeyError
exception. I like to access dicts using req.get('username', None)
instead (replace None
with another default value if you prefer. Another way to tackle that issue would be try/catch exception handling.
Also, depending on your Gamer model, trying to create a using an existing username (assuming you have unique=True
) would probably throw an exception as well, so you should handle that as well (I think get_or_create
could be handy here).
Generally when dealing with problems of this kind, use the inspector in your browser. It lets you see all the data sent and received during the request, which means (if you’re running django in DEBUG
mode) you’ll also get to see the default stack trace page in the inspector. It should hold some valuable indication to what’s causing the issue. Another option would be to write a small middleware or enable extended error logging to log errors to strout
/stderr
.