django-cursor-pagination
django-cursor-pagination copied to clipboard
use urlsafe_b64endcode
I'd like to use the cursors in the query string, but they currently aren't url safe, so some of the characters are url-encoded.
The goal of this diff is to remove the need for url-encoding the cursor.
There are three main changes:
- switch to using
base64.urlsafe_b64encode
andbase64.urlsafe_b64decode
- strip and re-pad the b64 padding character (
=
), which would otherwise be url-encoded - fall back to
b64decode
ifurlsafe_b64decode
fails (for backwards compatibility)
Let me know what you think!
Rather than messing around with urlsafe_b64encode
, wouldn't it make more sense to do search and replace instead? That would avoid the need to do any fallback and I think the code would be more readable too.