对于我的一些Django视图,我创建了一个执行基本HTTP访问身份验证的decorator .然而,在用Django编写测试用例时,我花了一段时间来研究如何对视图进行身份验证.我是这样做的.我希望有人觉得这有用.

推荐答案

我是这样做的:

from django.test import Client
import base64
auth_headers = {
    'HTTP_AUTHORIZATION': 'Basic ' + base64.b64encode('username:password'),
}
c = Client()
response = c.get('/my-protected-url/', **auth_headers)

注意:您还需要创建一个用户.

Django相关问答推荐

为什么Docker compose没有这样的文件或目录?

Django:不能在子函数中返回重定向异常.第一个功能继续

在Django的个人页面中的问题

如何在Django REST框架中实现ForeignKey搜索

try 获取静态文件路径时 Django 给出错误

如何组织 Django REST Framework url

PyCharm:强制 Django 模板语法突出显示

模板过滤器修剪任何前导leading或尾随trailing空格

如何使用自定义 AdminSite 类?

django npm 和 node 包架构

Django BigInteger自动增量字段作为主键?

使用 scrapy 访问 Django 模型:定义 Django 元素的路径

获取 Django 表单中的错误列表

Python:获取异常的错误消息

在 Django 中舍入小数点

如何在保存之前更改 Django 表单字段值?

如何将 django csrf 令牌直接嵌入 HTML?

在 Django 中使用 LiveServerTestCase 时使用代码登录

Python/Django - 避免在源代码中保存密码

Django 中的自定义 HTTP 标头