جانغو-urlcrypt هو التطبيق جانغو تقوم بتشفير المعلومات في عناوين المواقع، مثل اعتماد تسجيل الدخول.
على سبيل المثال، افترض لدي أنماط URL الذي يبدو مثل هذا:
urlpatterns = أنماط (''،
على & nbsp؛ رابط (ص '^ ارد / $'، 'message_inbox "، اسم =' message_inbox ')،
على & nbsp؛ (ص '^ ص /'، وتشمل ('urlcrypt.urls'))،
)
تعليقات المطور
يمكنني استخدام جانغو-urlcrypt لتوليد رابط لمستخدم التي تبدو مثل:
http://www.mydomain.com/r/TkNJBkNFAghDWkdFGPUAQEfcDUJfEBIREgEUFl1BQ18IQkdDUUcPSh4ADAYAWhYKHh8KHBsHEw
وسيتم تسجيل تلقائيا هذا الشخص في والموجهات لهم / وارد /.
تركيب
على & nbsp؛ 1. easy_install جانغو-urlcrypt أو PIP تثبيت جانغو-urlcrypt
على & nbsp؛ 2. إضافة إلى urlcrypt INSTALLED_APPS بك
على & nbsp؛ 3. الوظيفة urls.py:
على & nbsp؛ (ص '^ ص /'، وتشمل ('urlcrypt.urls'))،
استعمال
في وجهة نظر:
من django.core.urlresolvers عكس الواردات
من ليب استيراد urlcrypt كما urlcrypt
رمزي = urlcrypt.generate_login_token (مستخدم، عكس ('message_inbox'))
encoded_url = عكس ('urlcrypt_redirect، وسائط = (رمز،))
و# لك تبدو مختلفة قليلا لأن لديك SECRET_KEY مختلفة، ولكن ما يقرب من
# encoded_url == / ص / TkNJBkNFAghDWkdFGPUAQEfcDUJfEBIREgEUFl1BQ18IQkdDUUcPSh4ADAYAWhYKHh8KHBsHEw
في قالب:
{تحميل٪ urlcrypt_tags٪}
<أ href = ل"{٪ encoded_url message_inbox المستخدم٪}"> انقر مني الدخول ك {{user.username}} ويذهب إلى {٪ رابط message_inbox٪}
المتقدمة استخدام ليب:
من ليب استيراد urlcrypt كما urlcrypt
رسالة = {
على & nbsp؛ 'رابط': ش '/ المستخدمين / بعد /'،
على & nbsp؛ "USER_ID ':' 12345 '
}
رمز = urlcrypt.encode_token (رسالة ['USER_ID']، رسالة ['رابط'])
decoded_message = urlcrypt.decode_token (رمزية، ('USER_ID'، 'رابط'، 'زمني'))
>>> رمز الطباعة
TkNJBkNFAghDWkdFGPUAQEfcDUJfEBIREgEUFl1BQ18IQkdDUUcPSh4ADAYAWhYKHh8KHBsHEw
>>> decoded_message الطباعة
{'رابط': '/ المستخدمين / التالية'، 'USER_ID': '12345'}
الإعدادات
URLCRYPT_LOGIN_URL الافتراضي: LOGIN_URL
في حالة فشل المصادقة urlcrypt، الموجهات إلى URLCRYPT_LOGIN_URL.
RUNNING_TESTS الافتراضي: خطأ
تعيين RUNNING_TESTS إلى True عند تشغيل الاختبارات urlcrypt
المتطلبات:.
بيثون
لم يتم العثور على التعليقات