Fix #248: Fix next param logic and move logic to Python.

By deciding whether to redirect the user to the next param URL or the
default URL in Python instead of JavaScript, we can rely on Django’s
is_safe_url logic.
Should that be `if next and is_safe_url(...` so you don't called `is_safe_url(None, ...)`