django - 协程和 Django 点击劫持中间件
问题描述
我正在尝试将aiohttp库与 Django 一起使用。我已按照教程进行操作,但将我的view
一种方法定义为async
.
Traceback (most recent call last):
File "/Users/.../lib/python3.6/site-packages/django/core/handlers/exception.py", line 35, in inner
response = get_response(request)
File "/Users/.../lib/python3.6/site-packages/django/utils/deprecation.py", line 97, in __call__
response = self.process_response(request, response)
File "/Users/.../lib/python3.6/site-packages/django/middleware/clickjacking.py", line 26, in process_response
if response.get('X-Frame-Options') is not None:
AttributeError: 'coroutine' object has no attribute 'get'
我对此的最小工作示例如下:
async def conversion_form_process(request):
if request.method == 'POST':
form = ConversionForm(request.POST)
# check whether it's valid:
if form.is_valid():
return HttpResponseRedirect('/thanks/')
else:
form = ConversionForm()
return render(request, 'mainpage.html', {'form': form})
这表明它与async
关键字有关,但我不知道如何修复它。任何帮助深表感谢。谢谢!
解决方案
抱歉,aiohttp与Django不兼容。
它使用完全不同的范式。
推荐阅读
- jhipster - yo jhipster --force shell 命令面临问题
- git - 本地仓库的更改阻止我推送到 gitlab
- python - 我的清除命令一直受到速率限制
- javascript - 猫鼬中的唯一多重值
- shell - 如何在詹金斯声明管道中使用随机数
- rust - 可以返回多种类型的 Rust 函数?
- chef-infra - EC2:厨师食谱:LoadError:无法加载此类文件--aws-sdk-secretsmanager
- angular - 角度项目中 ng lint 期间未处理的异常
- java - 具有重复值的客户端服务器 Java 应用程序问题
- java - Java 8 并发信号量队列