保存并继续以Django表格



我创建了一个django表单,目前我只能保存帖子。想在我的模板和视图功能中添加保存并添加另一个按钮。有没有人找到解决方案。

if request.method == "POST": 
    form = StktxnsForm(request.POST ) 
    if form.is_valid(): 
        new_txns = form.save(commit=False) 
        new_txns.created_by = request.user 
        new_txns.save() 
        return redirect('pending_transactions') 
else: 
    form = StktxnsForm() 
return render(request,'new_transaction.html', {'form': form})

您可能会认为使用Ajax函数保存并继续无需重新加载。发送"发布"请求以将数据保存在AJAX中。它将为您提供帮助。

我在基于类的视图(Vanilla方法(

class PackageCreateView(View):
    def get(self,request,*args,**kwargs):
        return render(request,'package/create_package.html')
    
    def post(self,request,*args,**kwargs):
        if request.user.is_authenticated:
            if request.method == 'POST':
                data = request.POST
                name = data.get('name')
                detail = data.get('des')
                price = data.get('price')
                fname = Package.objects.all().filter(name=name)
                if fname:
                    messages.info (request,'sorry name already exits')
                    return redirect ('create_package')
                elif request.POST.get ('continue') :
                    pac = Package(name=name, detail=detail, price=price)
                    pac.save()
                    return redirect('create_package')
                else:
                    pac = Package(name=name, detail=detail, price=price)
                    pac.save()
                    return redirect('packagelist') 
            else:
                return redirect ('create_package')    
        else:
            return redirect('login')

这是一种方法。

在您的模板上:

<button type="submit" name="save_add" value="True">Save & Add another</button>

在您的视图中:

if form.is_valid(): 
    new_txns = form.save(commit=False) 
    new_txns.created_by = request.user 
    new_txns.save() 
    if request.POST.get('save_add'):
        return redirect('create_transaction')
    return redirect('pending_transactions') 

最新更新