Внимание! Перед тем как приступить к интеграции с tilda.cc убедитесь, что у Вас “Tilda Business” тариф. Только на нём доступно Tilda API.
Синхронизация возможна только для опубликованных страниц Проекта.
- Django >= 2.0 (поддерживаются старые версии >= 1.10)
- Python 2.7, >= 3.5
- Устанавливаем Django Tilda:
pip install django-tilda
- Добавь в
INSTALLED_APPS
:
'django_object_actions',
'tilda',
- Также добавь в
settings.py
:
TILDA_PUBLIC_KEY и TILDA_SECRET_KEY генерируется на Tilda.cc — https://tilda.cc/identity/apikeys/
TILDA_PROJECTID — у Вас должен быть уже созданный проект на Tilda.cc (в адресной строке легко можно найти project_id)
TILDA_MEDIA_IMAGES_URL — url до папки TILDA_MEDIA_IMAGES
TILDA_PUBLIC_KEY = ''
TILDA_SECRET_KEY = ''
TILDA_PROJECTID = ''
TILDA_MEDIA_IMAGES_URL = '/media/tilda/images'
TILDA_MEDIA_IMAGES = os.path.join(BASE_DIR, 'media/tilda/images')
TILDA_MEDIA_JS = os.path.join(BASE_DIR, 'media/tilda/js')
TILDA_MEDIA_CSS = os.path.join(BASE_DIR, 'media/tilda/css')
- TILDA_MEDIA_IMAGES, TILDA_MEDIA_JS, TILDA_MEDIA_CSS — создайте эти папки самостоятельно (это важно!)
- Запустить миграцию
python manage.py migrate
Готово!
Простой пример:
models.py
from django.db import models
from tilda import TildaPageField
class Page(models.Model):
title = models.CharField(
u'Title',
max_length=100
)
tilda_content = TildaPageField(
verbose_name=u'Tilda Page'
)
created = models.DateTimeField(
u'Created',
auto_now_add=True
)
template (object
— экземпляр Page class)
<head>
...
{% for css in object.tilda_content.get_css_list %}
<link rel="stylesheet" href="{{ css }}">
{% endfor %}
...
</head>
<body>
...
{{ object.tilda_content.html|safe }}
...
{% for js in object.tilda_content.get_js_list %}
<script src="{{ js }}"></script>
{% endfor %}
</body>
- English
- Русский