Sar*_*rit 1 python django django-rest-framework pytest-django
Django REST 文档从读取地址META。所以我必须创建Whitelist模型来存储它的 IP 地址/子网。没什么大不了的,302我的数据库中已经有了所有子网。
from rest_framework import permissions
class BlacklistPermission(permissions.BasePermission):
"""
Global permission check for blacklisted IPs.
"""
def has_permission(self, request, view):
ip_addr = request.META['REMOTE_ADDR']
blacklisted = Blacklist.objects.filter(ip_addr=ip_addr).exists()
return not blacklisted
Run Code Online (Sandbox Code Playgroud)
问题:
我想从其他 IP 地址测试白名单,而不是127.0.0.1
如何在 中做到这一点pytest?
感谢@rpkilby
https://github.com/encode/django-rest-framework/issues/5775#issuecomment-360734150
因为APICLient继承自同一来源。设置标题非常简单。
client = APIClient(REMOTE_ADDR='x.x.x.x')
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
2418 次 |
| 最近记录: |