Интеграция Tilda и Django
хочу интегрировать Тильду и ДЖанго, нужно Лендинги которые созданы на Тильде публиковать через Джанго. как лонгриды, без изменения, создал модель для материалов С Тильды в Джанго
class TildaPage(models.Model):
tilda_project_id = models.IntegerField()
tilda_page_id = models.IntegerField()
title = models.CharField(max_length=255)
def __str__(self):
return self.title
представление:
def sync_tilda_pages(request):
# Получите данные с Tilda
tilda_pages = get_tilda_pages()
# Если данные не получены, верните JsonResponse с сообщением об ошибке
if tilda_pages is None:
return JsonResponse({'status': 'error', 'message': 'Failed to fetch Tilda pages'})
# Сохраните или обновите данные в вашей базе данных
for page in tilda_pages:
tilda_page, created = TildaPage.objects.update_or_create(
tilda_id=page['id'],
defaults={'title': page['title'], 'content': page['html']}
)
# Получите все страницы из вашей базы данных
all_pages = TildaPage.objects.all()
return render(request, 'news/longridy.html', {'pages': all_pages})
настроил урл для проверки синхронизации
path('sync-tilda-pages/', sync_tilda_pages, name='sync_tilda_pages'),
при попытки синхронизации получаю ошибку
ConnectionError at /sync-tilda-pages/
HTTPSConnectionPool(host='api.tildacdn.com', port=443): Max retries exceeded with url: /v1/pages/list/?publickey=9i6f6g2g8qdqtw9bw3e5&secretkey=ae5ea70f3c9438f75a56 (Caused by NameResolutionError("<urllib3.connection.HTTPSConnection object at 0x00000291435FDA90>: Failed to resolve 'api.tildacdn.com' ([Errno 11001] getaddrinfo failed)"))
Request Method: GET
Request URL: http://127.0.0.1:8000/sync-tilda-pages/
Django Version: 3.2
Exception Type: ConnectionError
Exception Value:
HTTPSConnectionPool(host='api.tildacdn.com', port=443): Max retries exceeded with url: /v1/pages/list/?publickey=9i6f6g2g8qdqt43543fasf&secretkey=ae5ea704у64dfdfsr (Caused by NameResolutionError("<urllib3.connection.HTTPSConnection object at 0x00000291435FDA90>: Failed to resolve 'api.tildacdn.com' ([Errno 11001] getaddrinfo failed)"))
Exception Location: E:\backup_09-12-2022\Документы\Доки_мега\Python_learn\django\014\venv\Lib\site-packages\requests\adapters.py, line 519, in send
Python Executable: E:\backup_09-12-2022\Документы\Доки_мега\Python_learn\django\014\venv\Scripts\python.exe
Python Version: 3.11.3
Python Path:
['E:\\backup_09-12-2022\\Документы\\Доки_мега\\Python_learn\\django\\014\\tmedia',
'C:\\Program Files\\Python311\\python311.zip',
'C:\\Program Files\\Python311\\DLLs',
'C:\\Program Files\\Python311\\Lib',
'C:\\Program Files\\Python311',
'E:\\backup_09-12-2022\\Документы\\Доки_мега\\Python_learn\\django\\014\\venv',
'E:\\backup_09-12-2022\\Документы\\Доки_мега\\Python_learn\\django\\014\\venv\\Lib\\site-packages']
Server time: Mon, 27 Nov 2023 16:34:39 +0600
видимо не в ту сторону капаю, поправьте что делать, чтобы правильно интегрировать тильду и джанго чтобы получить список материалов с тильды как на вордпрессе и публиковать их на джанго,
получил публичные ключи с тильды и их вставляю при запросе. запрос с джанги не работает при этих же ключах, с вордпресса работает.
есть еще другое представление
@csrf_exempt
def tilda_sync(request):
if request.method == 'POST':
data = request.POST
tilda_page = TildaPage(
tilda_id=data.get('id'),
title=data.get('title'),
content=data.get('html')
)
tilda_page.save()
return JsonResponse({'status': 'success'})
return JsonResponse({'status': 'error'})
его урл:
path('tilda-sync/', tilda_sync, name='tilda_sync'),
при открытии его тоже ошибка
{
"status": "error"
}