Как сохранить данные скрипта Python в модель Django - PullRequest
0 голосов
/ 25 октября 2018

Я уже написал скрипт, который анализирует данные JSON с определенного URL и сохраняет их в списке.После этого я могу передать это в качестве аргумента для отображения в моем шаблоне.

Моя конечная цель - отобразить таблицу на шаблоне из этих данных JSON (из которых я в настоящее время включил только один параметр), для чего я считаю, что мне нужно передать этот список в модель Django.

def index(request):
    is_cached = ('raw_json' in request.session)
    print(is_cached)

if not is_cached:
    # g = {'starttime': '2014-01-01', 'endtime': '2014-01-02', 'minmagnitude': '5'}
    g=''
    url1 = ul.urlencode(g)
    # print(url1)
    main_api = 'https://earthquake.usgs.gov/fdsnws/event/1/query?format=geojson&'
    final_url = main_api + url1
    # print(final_url)
    raw_json = requests.get(final_url).json()
    string_json = json.dumps(raw_json)
    # print(raw_json)
    with open('test.txt', 'w') as file:
        file.write(string_json)

count = raw_json['metadata']['count']
print('Count: ' + str(count))

maglist = []
placelist = []
for cou in range(0, count):
    mag = (raw_json['features'][cou]['properties']['mag'])
    maglist.append(mag)
    # magdict = dict(list(enumerate(maglist)))
    place = (raw_json['features'][cou]['properties']['place'])
    placelist.append(place)
    # placedict = dict(list(enumerate(placelist)))
    # print(placedict)

with open('test2.txt', 'w+') as t1:
    for features in raw_json['features']:
        coordinates = (features['geometry']['coordinates'])
        id = (features['id'])
        t1.write("id: %s \n" % (id))
        t1.write("coordinates: %s \n" % (coordinates))
        # print(singfeature)
        for properties, value in features['properties'].items():
            t1.write("%s : %s \n" % (properties, value))
        # t1.write("\n")
# print (maglist)
args = {'magni': maglist}
print (args)
return render(request, 'earthquake/index.html', args)

Шаблон получает эти данные с простым циклом for следующим образом:

{% block content %}
    {% for item in magni %}
        <p>{{ item }}</p>
    {% endfor %}
{% endblock %}

Для которого результат отображается следующим образом:

resulting JSON table

Как упоминалось ранее, мне нужно отобразить фильтруемую / сортируемую таблицу с этим параметром (вместе с другими параметрами тоже), чтобы конечный пользователь мог просматривать данные по мере необходимости.

Я совсем новичок в Джанго.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...