他のプロジェクト(今回はFlask)からPOSTリクエストを送り、Djangoプロジェクトでこれを受け取り、結果を画面表示したい。
Django側でPOSTリクエストの受信はできるが、画面表示(HTTPレスポンス)ができない
【flaskによる送信側コード】
import requests import json webhook_url = "http://127.0.0.1:8000/recieve_data/" data = { "name": "kazutaka", } r= requests.post(webhook_url, data = json.dumps(data), headers={ 'Content-Type': 'application/json' })
【djangoによる受信側コード】
アプリのurls.py
from django.urls import path from . import views urlpatterns=[ path("recieve_data/", views.RecieveDataView.as_view(), name="recieve_data") ]
アプリのviews.py
from django.shortcuts import render, redirect from django.views import View import requests import json from django.views.decorators.csrf import csrf_exempt from django.utils.decorators import method_decorator @method_decorator(csrf_exempt, name='dispatch') class RecieveDataView(View): template_name = "app/recieve.html" def get(self, request,*args, **kwargs): context={ "title": "webhookRecieveTest", "message": "ここに名前を表示したい" } return render(request, self.template_name, context) def post(self, request,*args, **kwargs): data= json.loads(request.body) name= data["name"] print(name) # <-------------- これは問題なくできた。 context={ "title": "webhookRecieveTest", "message": name } return render(request, self.template_name, context) #<----ここが駄目みたい
アプリのrecieve.html
<h2>{{message}}</h2>
Flaskどうしでも送受信してみましたが、やはりHttp表示ができませんでした。 webhookは概念的なテーマであり、その実はPOST送受信なのかと思っていますが、 なにか足りないという感じはしています。 コメントしていただきましたが、「Djangoのurlをwebhook」に設定してという部分がそれなのだと思いました。
なにがおかしいのかお教えいただけませんでしょうか。 よろしくお願いいたします。