Django获取请求内容(CBV)


作者:  irvingLee

话不多说,直接上代码

urls


from django.conf.urls import url
from . import views
urlpatterns = [
    url(r'^get_authors/$', views.GetAuthorsView.as_view()),
    url(r'^get_book_info/(?P<book_id>\d+)/$', views.Get_Book_InfoView.as_view()),
    url(r'^get_get_param_test/', views.Get_Get_Param_Test_InfoView.as_view()),
    url(r'^get_post_param_test/', views.Get_Post_Param_Test_InfoView.as_view()),
]


views



from django.views.generic import View

from django.http import HttpResponse
# 获取get请求: 
http:///127.0.0.1:8000/cbvTest/get_get_param_test/?name=libingxin&age=18
 class Get_Book_InfoView(View):
    def get(self, request, book_id):
        book_id = book_id
        return HttpResponse(f"获取书籍视图:GET-->{book_id}")
    """
    def get(self, request, **kwargs):
        book_id = kwargs.get("book_id")
        return HttpResponse(f"获取get请求参数:GET-->{book_id}")
    """


 

获取post请求data

http:///127.0.0.1:8000/cbvTest/get_post_param_test/

携带数据:

{

"data1":"d1--libingxin",

"data2":"d2--22"

}

 


@method_decorator(csrf_exempt, name='dispatch')
class Get_Post_Param_Test_InfoView(View):
    def post(self, request):
        import json
        name = json.loads(request.body).get("data1")
        age = json.loads(request.body).get("data2")
        # name = request.POST.get("name")
        # age = request.POST.get("age")
        # print(name, age)
        return HttpResponse(f"获取post请求参数:POST-->{name},{age}")


议事

您可在此留下对本篇文章的个人看法*以作探讨