django-urlcrypt er en Django app som krypterer informasjon i nettadresser, for eksempel påloggingsinformasjon.
For eksempel, anta jeg har nettadressemønstre som ser ut som dette:
urlpatterns = mønstre ('',
& Nbsp; url (r '^ innboks / $', 'message_inbox', name = 'message_inbox'),
& Nbsp; (r '^ r /', inkluderer ('urlcrypt.urls')),
)
Utvikler kommentarer
Jeg kan bruke django-urlcrypt å generere en url for en bruker som ser slik ut:
http://www.mydomain.com/r/TkNJBkNFAghDWkdFGPUAQEfcDUJfEBIREgEUFl1BQ18IQkdDUUcPSh4ADAYAWhYKHh8KHBsHEw
og vil automatisk logge den personen i og viderekobler dem til / innboksen /.
Installasjon
& Nbsp; 1. easy_install django-urlcrypt eller PIP installere django-urlcrypt
& Nbsp; 2. Legg urlcrypt til dine INSTALLED_APPS
& Nbsp; 3. I urls.py add:
& Nbsp; (r '^ r /', inkluderer ('urlcrypt.urls')),
Bruk
I et syn:
fra django.core.urlresolvers import revers
fra urlcrypt import lib som urlcrypt
token = urlcrypt.generate_login_token (bruker, reverse ('message_inbox'))
encoded_url = revers ('urlcrypt_redirect', args = (token,))
# din vil se litt annerledes fordi du har en annen SECRET_KEY, men ca.
# Encoded_url == / r / TkNJBkNFAghDWkdFGPUAQEfcDUJfEBIREgEUFl1BQ18IQkdDUUcPSh4ADAYAWhYKHh8KHBsHEw
I en mal:
{% Load urlcrypt_tags%}
klikk om å logge inn som {{user.username}} og gå til {% url message_inbox%}
Avansert lib bruk:
fra urlcrypt import lib som urlcrypt
message = {
& Nbsp; 'url': u '/ brukere / følge /',
& Nbsp; 'user_id': '12345'
}
token = urlcrypt.encode_token (melding ['user_id'], melding ['url'])
decoded_message = urlcrypt.decode_token (token, ('user_id', 'url', 'timestamp'))
>>> Print token
TkNJBkNFAghDWkdFGPUAQEfcDUJfEBIREgEUFl1BQ18IQkdDUUcPSh4ADAYAWhYKHh8KHBsHEw
>>> Print decoded_message
{'Url': '/ brukere / følgende', 'user_id': '12345'}
Innstillinger
URLCRYPT_LOGIN_URL standard: LOGIN_URL
Hvis urlcrypt godkjenning mislykkes, viderekobler til URLCRYPT_LOGIN_URL.
RUNNING_TESTS standard: False
Still RUNNING_TESTS til Sann når du kjører de urlcrypt tester
Krav .
- Python
Kommentarer ikke funnet