2016-09-19 57 views
-1

我每次遇到這個錯誤,我不知道如何解決這個問題。我發送jQuery的項目ID連接對話對象。Django錯誤本地變量'item_id'在分配前引用

我的觀點:

def chatpage(request): 
if request.method == 'POST': 
    item_id = int(request.POST['item_id']) 

    return JsonResponse({'status': 200}) 
    message_form = MessageForm(data=request.POST) 

    if message_form.is_valid(): 
     new_message = message_form.save(commit=False) 
     new_message.conversation_id = item_id 
     new_message.agreement_delivery_time = 12 
     new_message.save() 
else: 
    message_form = MessageForm() 

conversation = Conversation.objects.get(id=item_id) 
messages = conversation.message_set.all() 

return render(request, 'templates/Chatapp/chat.html', 
       {'message_form': message_form, 
       'conversation': conversation, 
       'messages': messages}) 
+0

您只在收到帖子時創建一個'item_id'。當你得到一個帖子時,你會怎麼做 – Exelian

+0

我想獲得與此會話對象相關的對話對象和所有消息。 –

回答

0

嘗試下面的代碼,讓我知道如果這是你在找什麼:

def chatpage(request): 
    if request.method == 'POST': 
     item_id = int(request.POST['item_id']) 
     message_form = MessageForm(data=request.POST) 
     if message_form.is_valid(): 
      new_message = message_form.save(commit=False) 
      new_message.conversation_id = item_id 
      new_message.agreement_delivery_time = 12 
      new_message.save() 
     conversation = Conversation.objects.get(id=item_id) 
     messages = conversation.message_set.all() 
    else: 
     message_form = MessageForm() 
    return render(request, 'templates/Chatapp/chat.html', locals()) 

您可以通過它的名稱來訪問每個變量在模板中。

相關問題