Python 如何调试ajax django view函数,该函数不';我不能只在生产中工作

Python 如何调试ajax django view函数,该函数不';我不能只在生产中工作,python,ajax,django,postgresql,django-rest-framework,Python,Ajax,Django,Postgresql,Django Rest Framework,考虑到djangorestfranewokr decorator中包含的ajax函数,如何调试如此大的代码量,这些代码在本地工作,在生产环境中不起作用-调试不起作用,django不会记录任何错误,当某些东西损坏时,我仅有的信息只有500条。或者Django必须记录错误,然后出现问题 @api_view(['POST', ]) def load_dialog(request): if request.method == 'POST': party_id = request.

考虑到djangorestfranewokr decorator中包含的ajax函数,如何调试如此大的代码量,这些代码在本地工作,在生产环境中不起作用-调试不起作用,django不会记录任何错误,当某些东西损坏时,我仅有的信息只有500条。或者Django必须记录错误,然后出现问题

@api_view(['POST', ])
def load_dialog(request):
    if request.method == 'POST':
        party_id = request.data['party_id']
        ticket_id = request.data['ticket_id']
        party = UserProfile.objects.get(pk=party_id)
        ticket = Ticket.objects.get(pk=ticket_id)
        try:
            dialog = Dialog.objects.get(Q(sales=party) | Q(sales=request.user.userprofile))
        except Dialog.DoesNotExist:
            dialog = None
        if dialog:
            textbool = None
            if dialog.sales == request.user.userprofile:
                textbool = "show"
            messages = Message.objects.filter(dialog=dialog)

            s_messages = serializers.serialize('json', messages)
            s_textbool = json.dumps(textbool)
            s_dialog_id = json.dumps(dialog.id)
            data = {
               'messages': s_messages,
               'sales': s_textbool,
               'dialog_id':s_dialog_id,
            }
        else:
            owner = ticket.ownership
            new_dialog = Dialog.objects.create(buyer=request.user.userprofile,sales=owner,ticket=ticket)
            textbool = None
            if new_dialog.sales == request.user.userprofile:
                textbool = "show"
            messages = Message.objects.filter(dialog=new_dialog)
            s_messages = serializers.serialize('json', messages)
            s_textbool = json.dumps(textbool)
            s_dialog_id = json.dumps(new_dialog.id)
            data = {
               'messages': s_messages,
               'sales': s_textbool,
               'dialog_id':s_dialog_id,
            }
    else:
        error = "Fuck"
        return error
    return Response(data)

在生产环境中,您可以使用设置通过电子邮件启用。

在生产环境中,您可以使用设置通过电子邮件启用。

如果事情源于ajax调用,浏览器控制台可能会生成错误消息。@MattCremeens 500,403,200不提供调试信息。请添加发送此特定请求的
url.py
。@MattCremeens url(r'^load\u dialog/$,views.load\u dialog),500错误表示代码错误。您在终端中没有收到任何信息吗?如果这些信息来自ajax调用,可能浏览器控制台会产生错误消息。@MattCremeens 500、403、200不提供调试信息,可能会添加发送此特定请求的
url.py
。@MattCremeens url(r'^load\u dialog/$,views.load\u dialog),500错误意味着代码错误。你在终端上没有得到任何东西吗?谢谢,但是你知道如何让django在代码的平静上启用错误跟踪,或者至少知道它没有跟踪它们的原因吗?你应该获得完整的堆栈跟踪,但导致邮件中错误500的例外情况除外。谢谢,但是,您知道如何通过django仅在代码中启用错误跟踪,或者至少知道它不跟踪它们的原因吗?您应该获得完整的堆栈跟踪,但导致邮件中错误500的异常除外。