簡體   English   中英

django:發送到 ModelFormset 模板的 ajax 請求問題

[英]django: problem with ajax request sent to ModelFormset template

我正在嘗試從另一個模板中的一個模板傳遞用戶數據。 為此,我使用了一個 ajax 請求,這里也解釋了如何將 Ajax 與 Django 應用程序集成?

雖然沒有出現錯誤,但沒有任何東西被拉出。

這是我的模型表單集視圖在模板 1 中的樣子:

def New_Sales(request):
    #context = {}
    form = modelformset_factory(historical_recent_data, fields=('id','Id', 'Date','Quantity', 'NetAmount', 'customer_name'))
    
    
    if request.method == 'GET':
        formset = form(queryset= historical_recent_data.objects.none())
        #blank_form = formset.empty_form
    elif request.method == 'POST':
        formset = form(request.POST)
        #blank_form = formset.empty_form
        if formset.is_valid():
            request.session['sale'] = request.POST.get('sale')
            
            
            
            
            
            for check_form in formset:
                check_form.save()
            
                quantity = check_form.cleaned_data.get('Quantity')
                id = check_form.cleaned_data.get('Id')
                update = replenishment.objects.filter(Id = id).update(StockOnHand = F('StockOnHand') - quantity)
                update2 = Item2.objects.filter(reference = id).update(stock_reel = F('stock_reel') - quantity)
                
            
            
        
            return redirect('/invoice/pdf/assembly/') 
    
    #else:
        #form = form(queryset= historical_recent_data.objects.none())
        
    
    
    return render(request, 'new_sale.html', {'formset':formset})

這是將模板 1 數據訪問到模板 2 的視圖:

def generate_pdf_assembly(request):
    my_company = MyCompany.objects.get(id = 1)
    
    request = request.session.get('sale')
    context = {'request' : request, 'my_company' : my_company }
    print(context)

這是從模板(在模板 2 中)訪問數據的 ajax 請求:

<h3> {{ context }} </h3>

<script>
        
            $.ajax({
                method: "GET",
                url: "/new_sale.html", 
                sucess: function(context){
                    alert(context);
                },
                failure: function(context){
                    alert('got an error');
                    
                }
            });
            
        
    </script>

我覺得視圖中的request.session一定有問題,因為在日志和 chrome 控制台中都沒有輸出明顯的錯誤,但此時我沒有能力進一步調試它。

更新:在標簽模板中更改request context后,值None出現,絕對是請求的問題

def username_exists(request):
data = {'msg':''}   
if request.method == 'GET':
    username = request.GET.get('username').lower()
    exists = Usernames.objects.filter(name=username).exists()
    if exists:
        data['msg'] = username + ' already exists.'
    else:
        data['msg'] = username + ' does not exists.'`enter code here`
return JsonResponse(data)

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM