Python 局部变量';响应数据';作业前引用的表单只适用于一页,但现在我再次尝试使用该表单时,会弹出此错误

Python 局部变量';响应数据';作业前引用的表单只适用于一页,但现在我再次尝试使用该表单时,会弹出此错误,python,django,Python,Django,我有一个很好用的评论表。所以我决定在我的网站的另一个页面上采用这种评论形式。但在赋值显示之前引用的局部变量“response_data” 这是我的追踪 Traceback: File "/env/local/lib/python2.7/site-packages/django/core/handlers/base.py" in get_response 132. response = wrapped_callback(request, *callbac

我有一个很好用的评论表。所以我决定在我的网站的另一个页面上采用这种评论形式。但在赋值显示之前引用的局部变量“response_data”

这是我的追踪

Traceback:
File "/env/local/lib/python2.7/site-packages/django/core/handlers/base.py" in get_response
  132.                     response = wrapped_callback(request, *callback_args, **callback_kwargs)
File "/env/local/lib/python2.7/site-packages/django/views/decorators/csrf.py" in wrapped_view
  58.         return view_func(*args, **kwargs)
File "/comments/views.py" in comment_create_view
  49.           return JsonResponse(response_data)

Exception Type: UnboundLocalError at /comment/create/
Exception Value: local variable 'response_data' referenced before assignment
我相信回溯告诉我表单有一些语法错误,我不理解,因为相同的表单适用于其他页面

目前我有

@login_required
def comment_thread(request, id):

    comment = Comment.objects.get(id=id)
    form = CommentForm()
    context = {
    "form": form,
    "comment": comment,
    }
    return render(request, "comments/comment_thread.html", context)


in forms.py
class CommentForm(forms.Form):
    comment = forms.CharField(
        widget=forms.Textarea(attrs={"placeholder": "leave"})
    )
    #hidden_field = forms.CharField(widget=forms.HiddenInput())

    def __init__(self, hidden_data=None, data=None, files=None, **kwargs):
        super(CommentForm, self).__init__(data, files, kwargs)
        self.helper = FormHelper()
        self.helper.form_show_labels = False
        self.helper.add_input(Submit('submit', 'leave', css_class='btn btn-default'))
        if hidden_data:
            self.helper.add_input(Hidden('post_id', hidden_data['post_id']))
            self.helper.add_input(Hidden('origin_path', hidden_data['origin_path']))
            if hidden_data.get('parent_id', None):
                self.helper.add_input(Hidden('parent_id', hidden_data['parent_id']))


In html


      <form method="POST" action='{% url "comment_create" %}'>{% csrf_token %}
                    <input type='hidden' name='parent_id' value='{{ comment.id }}' />
                    {% crispy form form.helper %}
                    <!-- <input type='submit' class='btn btn-default' value='Add reply'/> -->
                    </form>
在贴子页面,它工作得很好,因为我有这样的

def post(请求,缓动):


在代码中,当您为响应数据赋值时,将其拼写为response\u dat

   try:
        post = Post.objects.get(id=post_id)
    except:
        response_dat = {"code":400,"message":"Post does not exists"}
        return JsonResponse(response_data)
应该是

   try:
        post = Post.objects.get(id=post_id)
    except:
        response_data = {"code":400,"message":"Post does not exists"}
        return JsonResponse(response_data)

啊-我看到你添加了dat-a…我的错误,但我仍然在赋值之前引用了局部变量“response_data”?你仍然得到相同的错误吗?原始版本位于代码的第49行:comment\u create\u view 49中的文件“/comments/views.py”。返回JsonResponse(response_data)如果是,发生错误的代码是什么?
   try:
        post = Post.objects.get(id=post_id)
    except:
        response_dat = {"code":400,"message":"Post does not exists"}
        return JsonResponse(response_data)
   try:
        post = Post.objects.get(id=post_id)
    except:
        response_data = {"code":400,"message":"Post does not exists"}
        return JsonResponse(response_data)