2016-09-19 8 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()) 

あなたのテンプレートでその名を介して変数にアクセスすることができます。

関連する問題