Я перебрал папку media / images, которая содержит все пути к изображениям этой папки, используя функцию os.walk (). После того, как я сделал в l oop, я получаю только одно изображение в этой папке, и я думаю о изображениях героев Dota2 более 115.
Я покажу вам код и распечатайте экран, чтобы вы могли внимательно смотреть. Я думаю, что допустил ошибку, поскольку в l oop некоторые были, но я новичок в python.
insert_heroes.py (строки с 15 по 18 - это итерации по моей папке media / images.)
import requests
import json
import os
API_URL = 'http://127.0.0.1:8000'
if __name__ == '__main__':
r = requests.get("https://api.opendota.com/api/heroes")
all_heroes_info = json.loads(r.content.decode('UTF-8'))
for hero_info in all_heroes_info:
name = hero_info['localized_name']
hero_type = hero_info['primary_attr']
for root, dirs, files in os.walk("../../media/images/", topdown=False):
for image in files:
pass
print(image)
keys = [name]
values = [image]
# dictionary = dist(zip(keys, values))
# print(dictionary)
# print(keys)
mutation_create_hero = '''
mutation ($name: String!, $heroType: String!, $image: String!) {
createHero(name: $name, heroType: $heroType, image: $image) {
name
image
}
}
'''
variables = {'name': name, 'heroType': hero_type, 'image': image}
# localhost_api_response = requests.post(
# '{}/graphql/'.format(API_URL),
# json={
# 'query': mutation_create_hero,
# 'variables': variables
# }
# )
Что я получаю при печати переменной изображения - https://prnt.sc/qmzh8g Только 1 значок. Zeus icon.png - последний файл изображения в каталоге media / images.
Спасибо