Чтобы публиковать посты на нескольких удаленных сайтах, вам понадобится использовать API каждого сайта.
Для решения проблемы с появлением двух одинаковых постов на дочерних сайтах, вы можете добавить проверку, чтобы код выполнялся только на главном сайте. Например, вы можете использовать условие, чтобы код выполнялся только при определенном домене:
```python
import requests
main_site = "https://главный-сайт.com"
child_sites = ["https://дочерний-сайт1.com", "https://дочерний-сайт2.com"]
def publish_post(title, content):
# Проверяем, является ли текущий домен главным сайтом
if request.host == "главный-сайт.com":
# Публикуем пост на главном сайте
post_data = {
"title": title,
"content": content
}
response = requests.post(main_site + "/api/posts", data=post_data)
# Публикуем пост на дочерних сайтах
for child_site in child_sites:
response = requests.post(child_site + "/api/posts", data=post_data)
publish_post("Заголовок", "Содержимое поста")
```
Чтобы передавать изображения в контенте на дочерний сайт и сохранять их в медиатеке, вы можете использовать функцию `post` с `files` параметром, который позволяет передавать файлы вместе с запросом.
```python
import requests
main_site = "https://главный-сайт.com"
child_sites = ["https://дочерний-сайт1.com", "https://дочерний-сайт2.com"]
def publish_post(title, content, image_path):
# Проверяем, является ли текущий домен главным сайтом
if request.host == "главный-сайт.com":
# Публикуем пост на главном сайте
post_data = {
"title": title,
"content": content
}
response = requests.post(main_site + "/api/posts", data=post_data)
# Публикуем пост на дочерних сайтах
for child_site in child_sites:
# Открываем файл изображения
with open(image_path, "rb") as image_file:
files = {
"image": image_file
}
response = requests.post(child_site + "/api/posts", data=post_data, files=files)
publish_post("Заголовок", "Содержимое поста", "путь-к-изображению.jpg")
```
Обратите внимание, что в коде используются фиктивные URL и данные. Вам необходимо заменить их на соответствующие URL и данные ваших сайтов.