If your URLs need to contain numeric IDs a neat way of shortening them is to use base36.
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 | def base36_to_int(s):
return int(s, 36)
def int_to_base36(i):
digits = "0123456789abcdefghijklmnopqrstuvwxyz"
factor = 0
# Find starting factor
while True:
factor += 1
if i < 36 ** factor:
factor -= 1
break
base36 = []
# Construct base36 representation
while factor >= 0:
j = 36 ** factor
base36.append(digits[i / j])
i = i % j
factor -= 1
return ''.join(base36)
|
More like this
- find even number by Rajeev529 1 month, 1 week ago
- Form field with fixed value by roam 1 month, 4 weeks ago
- New Snippet! by Antoliny0919 2 months, 1 week ago
- Add Toggle Switch Widget to Django Forms by OgliariNatan 4 months, 3 weeks ago
- get_object_or_none by azwdevops 8 months, 2 weeks ago
Comments
Please login first before commenting.