-
如果您的站点使用 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。非经特殊声明,原始代码版权归原作者所有,本译文未经允许或授权,请勿转载或复制。
