首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >如何使用django测试客户端测试wagtail管理页面?

如何使用django测试客户端测试wagtail管理页面?
EN

Stack Overflow用户
提问于 2017-08-01 02:59:25
回答 2查看 539关注 0票数 0

我正在尝试使用Django Test Client编写一些测试,以检查我对wagtail管理的自定义。我试过了:

代码语言:javascript
复制
self.user = get_user_model().objects.create(
    username='addy', is_staff=True
)
self.client.force_login(self.user)
response = self.client.get(f'/admin/pages/{self.thing.id}/edit/')

但我最终还是看到了HttpResponseRedirect status_code=302, "text/html; charset=utf-8", url="/admin/login/?next=/admin/pages/6/edit/">

我是否遗漏了一些重要的用户属性,而Wagtail希望在ordet中让他们查看wagtail-admin页面?

EN

回答 2

Stack Overflow用户

发布于 2017-08-01 03:10:07

wagtailadmin.access_admin不使用Wagtail标志来确定对管理员的访问权限-您需要为您的用户分配Wagtail权限。

有关设置具有适当权限的测试用户的示例,请参阅https://github.com/wagtail/wagtail/blob/c6666c6de5e83bf94d18324858c121e6584ba47d/wagtail/wagtailsites/tests.py#L258

票数 2
EN

Stack Overflow用户

发布于 2017-08-01 23:22:31

以下是最终对我有效的方法:

代码语言:javascript
复制
self.user = get_user_model().objects.create_superuser(
    username='addy', email='admin@example.com', password='passwood321'
)

仅仅设置is_staff是不够的。感谢上面的@gasman,用户没有is_admin属性。他们有is_superuser,所以这段代码同样有效(而且可能更好,因为它不需要不相关的电子邮件或密码):

代码语言:javascript
复制
self.user = get_user_model().objects.create(username='addy', is_superuser=True)
self.client.force_login(self.user)
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/45423410

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档