首页 > 解决方案 > Django 3.x Python 3.x - 如何解决内部服务器错误?

问题描述

我正在使用 ajax 提交表单集,它工作正常并得到响应。我对我的模板进行了过滤,因为这个答案出现了错误。为此,我从项目中完全删除了过滤器并重新运行服务器,错误仍然存​​在。我不知道如何排除故障并知道导致错误的原因,而不是对我的代码进行大量更改(尝试和错误方法)并炸毁我的项目:D

我在 Windows 10 上使用 VS Code

网址.py

path('legs/assign/<int:trans_id>', views.legs_assign, name='legs_assign'),

视图.py

def legs_assign(request, trans_id):
    context = {}
    try:
        # handle the request to save data (working fine and records saved)
        # add some context

        print(str(context)) # => works fine and prints the context to console
        html_response = render(request,'my_template.html', context)
        print(srt(html_response)) # => doesn't work or print anything to console
        return HttpResponse(html_response,status=200)
    except Exception as e:
        return HttpResponse('%s %s <P>Somthing went wrong!</p>' % (e,e.args),status=500)

脚本.js

$(document).ready(function(){
    $(".assign_btn").click(function(){
        var trans_id = $(this).val()
        var form_anchor = "#trans_legs_formset_" + trans_id
        var serializedData = $(form_anchor).serialize();

        $.ajax({
            url: $(form_anchor).data('url'),
            data: serializedData,
            type: 'POST',
            success: function(response){
                $(form_anchor).html(response);
            },
        })
    });
});

my_template.html

<form method="POST" id="trans_legs_formset_1" data-url="{% url 'legs_assign' 1 %}">
  {% csrf_token %}
  {{ legs_formset.management_form }}
  {% for form in my_formset %}
     {% for field in form.visible_fields %}
          {{ field }}
     {% endfor %}
     {% for field in form.hidden_fields %}
          <div style="display:none;">{{ field }}</div>
     {% endfor %}
  {% endfor %}
<form>

Python 控制台错误:

内部服务器错误:/legs/assign/1

浏览器控制台错误:

在此处输入图像描述

标签: python-3.xajaxvscode-debuggerdjango-3.0

解决方案


推荐阅读