Я пытался создать представление Django с async, но оно показывает ошибки SynchronousOnlyOperation
Я пытаюсь создать асинхронное представление django, которое получает код состояния с нескольких адресов.
Это мой views.py
async def get_page(session, url, urlMain):
async with session.get(url) as response:
st_code= await response.status
return url, st_code, urlMain
async def create_search(request):
form = SearchForm()
if request.method == 'POST':
name = request.POST['name']
tasks = []
async with aiohttp.ClientSession() as session:
for item in data:
url = data[item]['url']
urlMain = data[item]['urlMain']
tasks.append(get_page(session, url, urlMain))
results = await asyncio.gather(*tasks)
for url, st_code, urlMain in results:
if st_code == 200:
site_data = SearchResult(
url = urlMain,
sitename = item,
)
site_data.save()
context = {'form':form}
return render(request, 'index.html', context )
При запуске django он показывает мне эту ошибку.
SynchronousOnlyOperation at /create-search/
You cannot call this from an async context - use a thread or sync_to_async.