代码之家  ›  专栏  ›  技术社区  ›  james

如何访问django get中的参数变量?

  •  0
  • james  · 技术社区  · 6 年前

    在我的URL文件中,我有

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

    在我的视图文件中,我有

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

    我收到一个404错误,它似乎也无法识别URL中的?如何用参数格式化GET请求?

    2 回复  |  直到 6 年前
        1
  •  0
  •   Aurélien    6 年前

    你可以这样做:

    request = self.request
    id = request.query_params.get('id')
    
        2
  •  0
  •   JPG    6 年前

    作为 @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