【问题标题】:cant access to django post request key无法访问 django 发布请求密钥
【发布时间】:2019-10-11 01:10:24
【问题描述】:

我写了一个 Django Web 应用程序,这个项目有一个功能可以从客户端发出请求,这个请求有一个键,这个键是“令牌” 当我用 Postman 发送这个请求时,我的函数找不到“tokene”键,所以我编写了一个小的 python 代码来发送请求,这个代码是工作的! 当我使用 Postman 时,我的回答是“请发送令牌!”和 当我使用我的代码时,响应是一个 Json 为什么?

这是我的邮递员网址

http://localhost:8000/submit/expensequery?tokene=123456789

# its my python code 
import requests
r = requests.post('http://localhost:8000/submit/expensequery/', data={'tokene':'123456789'})
print (r.url)





# its my webapplications function 
def query_expenses(request):
    if (request.POST.has_key('tokene')):
        this_token = request.POST['tokene']
        num = request.POST.get('num', 10)
        this_user = get_object_or_404(User, token__token=this_token)
        expenses = 
        expense.objects.filter(user_name=this_user).order_by('-date') 
        [:num]
        expenses_serialized = serializers.serialize("json", expenses)
        return JsonResponse(expenses_serialized, encoder=JSONEncoder, safe=False)
    else:
        return HttpResponse('please send token !')



    #its my application urls.py
urlpatterns = [
        url(r'^accant/',include('accant.urls')),
        url(r'',include('web.urls')),



    ]+ static(settings.STATIC_URL, document_root=settings.STATIC_ROOT)



    #its my web.urls.py

    urlpatterns = [
       url(r'^submit/expense/$',views.expense_func),
       url(r'^submit/income/$',views.income_func),
       url(r'^submit/expensequery/?$',views.query_expenses),
       url(r'^/test/',views.test),
    ]
    urlpatterns += static(settings.STATIC_URL, document_root=settings.STATIC_ROOT)

【问题讨论】:

  • 可能是因为你在邮递员中使用了GET方法。
  • @Rakesh 不,我选择帖子,我的功能是 require_POST

标签: python django post request postman


【解决方案1】:

has_key 功能已弃用,取而代之的是使用'key' in request.POST。因此,您的 if 条件将不起作用。你应该这样做if 'tokene' in request.POST:

【讨论】:

  • 我改了,但问题依旧
  • 你能发布你的 urls.py 吗?
  • 我将此添加到我的帖子中
  • 您不需要在您的费用查询网址末尾添加?,但我不确定这是否会导致问题
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2014-05-14
  • 1970-01-01
  • 2019-04-21
  • 2012-02-09
相关资源
最近更新 更多