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_b64encodeandbase64.urlsafe_b64decode - strip and re-pad the b64 padding character (
=), which would otherwise be url-encoded - fall back to
b64decodeifurlsafe_b64decodefails (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.