我知道Django rest框架是用于以编程方式与Django服务器进行交互的,但我仍然不明白的一件事是如何进行交互。
我想要做的是让我的客户端应用程序(移动应用程序)将数据(以某种方式)发送到Django服务器,以便基于变量创建/检索数据,显然这必须通过URL完成,因为将不会有与API的直接GUI交互。(除非我弄错了,我很可能弄错了)
我已经阅读了官方文档,并一直按照教程学习到最后,仍然不明白这是如何工作的。
我所要求的只是一个快速而简单的解释,因为我已经到处寻找,但还没有找到一个足够简单的解释来掌握这一切是如何工作的核心概念。
发布于 2018-07-28 01:46:37
我认为您正在寻找的是JSONResponse和相关对象:
这将允许您发送JSON来响应请求。
from django.http import JsonResponse
def my_view_json(request):
response = JsonResponse({'foo': 'bar'})
return response如果您的模板或网页需要向视图发出请求并指定不同的参数,则可以通过添加POST变量(examples)来实现。可以像这样在视图中解析这些内容:
def myView(request):
my_post_var = request.POST.get('variable_name', 'default_value')
my_get_var = request.GET.get('variable_name', 'default_value')然后,您可以解析以任何您喜欢的方式发送的内容,并决定如何处理它。
发布于 2018-08-03 02:54:52
基本上,您定义了对其执行Get/POST/PUT请求的URLS,并且可以向其发送数据。
例如: urls.py
from django.conf.urls import url,include
from app import views
urlpatterns = [
url(r'^(?i)customertype/$',views.CustomerViewSet.as_view()),
url(r'^(?i)profile/$', views.Save_Customer_Profile.as_view()),
url(r'^(?i)customer_image/$', views.Save_Customer_Image.as_view()),
]现在,只要用户向example.com/profile ==>发送请求,就会根据方法类型在Save_Customer_Profile视图中收到该请求,Save_Customer_Profile如下所示:
class Save_Customer_Profile(APIView):
"""Saves and Updates User Profile!"""
def get(self, request, format=None):
return AllImports.Response({"Request":"Method Type is GET Request"})
def post(self, request, format=None):
return AllImports.Response({"Request":"Method Type is Post Request"})
def put(self,request, format=None):
return AllImports.Response({"Request":"Method Type is Put Request"})发布于 2019-09-19 00:56:35
我认为OP指的是如何以编程方式执行GET/POST请求。在这种情况下,这样做就足够了(值是虚拟的):
获取:
import requests
r = requests.get('http://localhost:8000/snippets/')
print(r.json())
print(r.status_code, r.reason)帖子:
data = {'code': 'print(" HELLO !!!")', 'language': 'java','owner': 'testuser'}
r = requests.post('http://localhost:8000/snippets/', data=data, auth=('testuser', 'test'))https://stackoverflow.com/questions/51558466
复制相似问题