如何在Django GET中访问参数变量?

时间:2018-09-27 19:17:44

标签: django django-rest-framework

在我的网址文件中,

urlpattersn = [
    url(r'insight/<id>', views.insights, name=['test'])
]

我的视图文件中有

@api_view(['GET'])
def insights(request, id):
    print id

我收到404错误,它似乎也无法识别url中的吗?如何使用参数格式化获取请求?

2 个答案:

答案 0 :(得分:0)

您可以这样:

request = self.request
id = request.query_params.get('id')

答案 1 :(得分:0)

@dirkgroten在评论中说,如果您使用的是 Django < 2.X ,(例如django 1.9,1.11等)请使用此url配置

from django.conf.urls import url

urlpattersn = [
    url(r'^insight/(?P<id>\d+)', views.insights, name=['test'])
]


如果您使用的是 Django 2.x ,请使用以下配置

from django.urls import path

urlpattersn = [
    path('insight/<int:id>', views.insights, name=['test'])
]



  

如何在Django GET中访问参数变量?

使用request.query_params作为

@api_view(['GET'])
def insights(request, id):
    print(request.query_params) # here <<<<
    print(id)
    # your code