私はVMware PlayerでUbuntuをホストしています。私はEclipseネオン、Pydev、Anaconda3を使ってDjangoを使っています。要求/応答は同じマシン(Ubuntu)でうまくいきました。ホストされたマシンの私のウィンドウは次のようになります: - 要求は正常に送信されました。 - 応答を受信しませんでした。ここでPython:Django Requests
は私のコードです:Ubuntuで
:
-Djangoコード:
@api_view(['GET', 'POST'])
def PredictLocations(request):
if request.method == 'GET':
locations = Locations.objects.all()
serilaizer = LocationSerializers(locations, many=True)
return Response(serilaizer.data)
elif request.method == 'POST':
serializer = LocationSerializers(data=request.data)
if serializer.is_valid():
return HttpResponse('Hey')
return Response(serializer.errors, status=status.HTTP_400_BAD_REQUEST)
- ポスト要求:Windowsでは
import requests,json
url = 'http://localhost:8000/locations/'
payload = {"X": 1.0, "Y": 0.0, "Z": 10.0, "isSafe": 2}
headers = {'content-type': 'application/json'}
r = requests.post(url, data=json.dumps(payload), headers=headers)
print(r.status_code, r.reason, r.text)
:
import requests,json
url = 'http://UbuntuIp:8000/locations/'
payload = {"X": 1.0, "Y": 0.0, "Z": 10.0, "isSafe": 2}
headers = {'content-type': 'application/json'}
r = requests.post(url, data=json.dumps(payload), headers=headers)
print(r.status_code, r.reason, r.text)
問題は何と思いますか?
Djangoの設定で 'ALLOWED_HOSTS'を確認してください。また、ステータスコードと理由は何ですか? –
printの出力は何ですか(r.status_code、r.reason、r.text) – rrmerugu
出力はありません!スクリプトは応答を待つだけです!しかし、それはローカルに働いた。 私はまた、ALLOWED_HOSTS = ['*']を設定しようとしましたが残念なことに肯定的な結果はありません! –