在 django 上测试 post 请求,csrf_token
Test post requests on django, csrf_token
我正在尝试在我的 Django 应用程序中测试一些 post 方法,但由于 csrf_token
,我无法在没有浏览器的情况下对其进行测试。所以我用
@csrf_exempt
装饰器
但是我忘记在生产中删除那些装饰器。有这样更好的方法吗?
@csrf_exempt(in_debug_only=True)
所以这个装饰器只有在应用程序处于调试模式时才有效。或者是否有更好的方法来测试 post 请求?
喜欢selenium
可能有一些方法可以做到这一点?
注意:我目前使用的是 Django 1.7.2 和 Python 3.4.1
灵感来自 this answer:
您可以将新文件添加到您的应用程序,我们将其命名为 disable_csrf.py:
class DisableCSRF(object):
def process_request(self, request):
setattr(request, '_dont_enforce_csrf_checks', True)
然后您可以编辑您的 settings.py 以添加:
if DEBUG:
MIDDLEWARE_CLASSES += myapp.disable.DisableCSRF
让我知道它是否有效。
我正在尝试在我的 Django 应用程序中测试一些 post 方法,但由于 csrf_token
,我无法在没有浏览器的情况下对其进行测试。所以我用
@csrf_exempt
装饰器
但是我忘记在生产中删除那些装饰器。有这样更好的方法吗?
@csrf_exempt(in_debug_only=True)
所以这个装饰器只有在应用程序处于调试模式时才有效。或者是否有更好的方法来测试 post 请求?
喜欢selenium
可能有一些方法可以做到这一点?
注意:我目前使用的是 Django 1.7.2 和 Python 3.4.1
灵感来自 this answer:
您可以将新文件添加到您的应用程序,我们将其命名为 disable_csrf.py:
class DisableCSRF(object):
def process_request(self, request):
setattr(request, '_dont_enforce_csrf_checks', True)
然后您可以编辑您的 settings.py 以添加:
if DEBUG:
MIDDLEWARE_CLASSES += myapp.disable.DisableCSRF
让我知道它是否有效。