Как извлечь данные из самодельного restfull_api - PullRequest
0 голосов
/ 12 мая 2019

Я пытаюсь получить информацию из моего API через Y / views.py из другого приложения в том же проекте.Я получаю следующую ошибку ([WinError 10061]).Хотя я могу выполнить get / post / put через мой json_main.js.Спасибо всем, кто поддерживает меня в этом путешествии.Пожалуйста, прочитайте, что уже работает.И в качестве дополнительного вопроса я хотел бы спросить, почему невозможно получить данные напрямую через мою модель / sqlite db.

Я уже создал следующее: X / Views + X / Template.html.X / Views отображает информацию из серверной части в X / template.html.В этом шаблоне есть сценарий JSON (рабочий), который выполняет POST / GET / PUT для API (рабочий) при щелчке изображения.

Функция в конечном итоге приводит к новой записи в API / Bestellingen.Информация, хранящаяся с помощью этой функции JSON (включая проверку подлинности токена; csrf), теперь должна быть извлечена в views.py в Y / view.Я уже создал пример dict.это отображается в Y / template.html

Я пробовал несколько методов запросов JSON (coreapi, urllib2, urllib3, запросы), но продолжаю получать ошибку, как упоминалось ранее.Как уже говорилось: скрипт JSON.js работает.Выполнение того же через POSTMAN также работает.

Поскольку я выполняю то же самое через .js и почтальон, я совершенно уверен, что переменные (токен, заголовок и запрос) должны быть в порядке.

Я покажу несколько коротких фрагментов уже работающего кода.Затем я покажу код, который, кажется, не работает.

Информация из X / views.py -> X / template.html

return render(request, 'smaakjes/smaakjes.html', {'Drank': super_dict})

X / Template.html (см.onclick = "")

{% for key, value_list in Drank.items %}
<img onclick="PostImageDetails(this)" style="margin: 0 auto;" src="{{   value }}" id="{{ value }}">

JSON.js (работает), отправляет информацию на http: 127: 0: 0: 0: 8000 / api / bestellingen.Я могу видеть сохраненную информацию через представление API.

xmlhttp.send(JSON.stringify({'url':imageSrc, 'username': imageId}))

Y / views.py -> отображает информацию в Y / template.html (работает)

def BestellingenDashboard(request):

Data = {'iets': '1'}
return render(request, 'homepage.html', {'bestellingen' : Data})

Как только информация будет сохранена в API / bestellingen, я бы хотелчтобы получить весь JSON DICT.через python Y / Views.py и сохраните его в указанных выше «данных» (это легко :)).Кто-нибудь знает, что я делаю не так?Почему работает почтальон?Я скучаю по заголовку или что-то?По моему мнению, получение данных из вашего собственного API должно быть очень простым: D

from django.http import HttpResponse
from django.shortcuts import render
from api.models import Bestellingen
import json
import secrets
import requests

URL = "http://127.0.0.1:8000/api/bestellingen/"
data_json = json.dumps(data)
payload = {'json_payload': data_json}

r = requests.get(url=URL, headers={'Content-Type': 'application/json', 'token' : secrets.token_hex(40)}, json=payload)
a = r.json()
print(a)

def BestellingenDashboard(request):

    Data = {'iets': '1'}
    return render(request, 'homepage.html', {'bestellingen' : Data})

Как вы можете прочитать, большинство работает (api, конечные точки, apiviews, визуализация информации из XX.html, X.html-> API. Теперь я хочу получить информацию в Y.views, чтобы я мог использовать эту информацию в Y / template.html

...