如何在使用djangorestframework装饰器时调试ajax函数。
@api_view(['POST', ])
def authfb(request):
require_more_data = True
if request.method == 'POST':
first_name = request.data['fb_first_name']
last_name = request.data['fb_last_name']
fb_picture = request.data['fb_picture']
fb_friends_number = request.data['fb_friends_number']
fb_username = request.data['fb_username']
fb_id = int(request.data['fb_id'])
fb_link = request.data['fb_link']
username = fb_username.replace(' ', '')
# print(username)
password = '112358'
user = auth.authenticate(username=username, password=password)
return Response(request.data)
代码示例。当通过ajax请求调用视图函数时,Django不会告诉任何错误。这使我使用打印并手动搜索错误的行,仍然不知道到底出了什么问题。如何调试它,如何像往常一样使django日志错误?
答案 0 :(得分:0)
对于调试ajax函数,最好从Django视图返回响应数据(json格式化数据,以获得更高的透明度),这可以从ajax错误方法记录在控制台中。然后,通用方法总是派上用场调试任何请求(打印语句,尝试和除语句)
我建议更频繁地使用try语句,因为它经验丰富的编码员非常喜欢并且易于调试。
举个简单的例子:
def authfb(request):
if request.method == "POST":
msg = "Unknown error"
status = False
try:
#do something
msg = "Everything's Goood"
status = True
except Exception as e:
msg = str(e)
return JsonResponse ({'status':status, 'msg':msg, 'anything':'that_thing'})
虽然这只是我的建议,但还有很多其他更好的方法。 从我的观点来看,没有正确的调试方式,从各方面来看都是正确的。
希望你得到你想要的东西。