-
如果您的站點使用 Django 的身份驗證係統並且您處理登錄用戶,您可以使用測試客戶端的
login()方法來模擬用戶登錄站點的效果。調用此方法後,測試客戶端將擁有通過任何可能構成視圖一部分的基於登錄的測試所需的所有 cookie 和會話數據。
credentials參數的格式取決於您使用的身份驗證後端(由您的設置配置)。如果您使用 Django 提供的標準身份驗證後端(AUTHENTICATION_BACKENDSModelBackend),credentials應該是用戶的用戶名和密碼,作為關鍵字參數提供:>>> c = Client() >>> c.login(username='fred', password='secret') # Now you can access a view that's only available to logged-in users.如果您使用不同的身份驗證後端,此方法可能需要不同的憑據。它需要後端的
authenticate()方法所需的任何憑據。login()如果憑據被接受並且登錄成功,則返回True。最後,您需要記住在使用此方法之前創建用戶帳戶。正如我們上麵解釋的,測試運行器是使用測試數據庫執行的,默認情況下不包含任何用戶。因此,在您的生產站點上有效的用戶帳戶將無法在測試條件下工作。您需要創建用戶作為測試套件的一部分 - 手動(使用 Django 模型 API)或使用測試夾具。請記住,如果您希望您的測試用戶擁有密碼,則不能通過直接設置密碼屬性來設置用戶的密碼 - 您必須使用
函數來存儲正確散列的密碼。或者,您可以使用set_password()輔助方法創建具有正確散列密碼的新用戶。create_user()
本文介紹 django.test.Client.login 的用法。
聲明
login(**credentials)
相關用法
- Python Django Client.get用法及代碼示例
- Python Django Client.post用法及代碼示例
- Python Django Client.session用法及代碼示例
- Python Django Client用法及代碼示例
- Python Tableau CSVRequestOptions用法及代碼示例
- Python Django ContentTypeManager用法及代碼示例
- Python Calendar itermonthdays2()用法及代碼示例
- Python Condition release()用法及代碼示例
- Python Collections.UserString用法及代碼示例
- Python Calendar monthdatescalendar()用法及代碼示例
- Python Condition notify()用法及代碼示例
- Python CSV轉JSON用法及代碼示例
- Python Django ContextMixin.get_context_data用法及代碼示例
- Python Django CustomUserManager.create_user用法及代碼示例
- Python Condition wait()用法及代碼示例
- Python Django Coalesce用法及代碼示例
- Python Calendar itermonthdates()用法及代碼示例
- Python Calendar iterweekdays()用法及代碼示例
- Python Django CustomUserManager.create_superuser用法及代碼示例
- Python Django Cot用法及代碼示例
- Python Calendar monthdayscalendar()用法及代碼示例
- Python Calendar itermonthdays3()用法及代碼示例
- Python Django Ceil用法及代碼示例
- Python Sympy Curve.translate()用法及代碼示例
- Python Collections.UserDict用法及代碼示例
注:本文由純淨天空篩選整理自djangoproject.com大神的英文原創作品 django.test.Client.login。非經特殊聲明,原始代碼版權歸原作者所有,本譯文未經允許或授權,請勿轉載或複製。
