Django表单提交多个URL(或)视图

时间:2019-05-18 16:54:13

标签: django python-3.x html-form-post

有什么方法可以使用提交的表单数据来应用所有视图, 例如,

我有一页纸,

<form method="POST" autocomplete="off" action="{% url 'a_view' %}">
   <label for="Region">Region</label>
   <input class="form-control" placeholder="Enter Region" type="text" id="Region">
   <button class="btn btn-primary">Apply</button>

在另一页中有另一个具有相同表单输入形式的表单,

<form method="POST" autocomplete="off" action="{% url 'b_view' %}">
   <label for="Region">Region</label>
   <input class="form-control" placeholder="Enter Region" type="text" id="Region">
   <button class="btn btn-primary">Apply</button>

在必须发送到不同的视图之后,从此表单中获得用于过滤不同模型的数据的文本。 我想做的是  应用表单时,应将表单应用于我应用中的所有视图。

在view.py中,

def aview(request):
    if request.method == 'POST':
          sbc = MTD.pdobjects.all()
          df = sbc.to_dataframe().reset_index(drop=True)
          filter_list = request.POST.get('regionwiselist', None)
          df=df[df['RGN'].isin(filter_list)]
          df1=pandas.pivot_table(df,index='MKU',columns='Vertical',values=['Sales_Value','Unit_Sales_Price'],aggfunc='sum').replace(numpy.nan,0)
          df1.reset_index(inplace=True)
          dict1=df1.transpose().to_dict()
          col=list(df1.columns)
          context={
                  'MKU_value':dict1,
                  'MKU':col
          }
          return render(request, 'aview.html', context)
    else:
        sbc = MTD.pdobjects.all()
        df = sbc.to_dataframe().reset_index(drop=True)
        df=df[df['RGN'].isin(filter_list)]
        df1=pandas.pivot_table(df,index='MKU',columns='Vertical',values=['Sales_Value','Unit_Sales_Price'],aggfunc='sum').replace(numpy.nan,0)
        df1.reset_index(inplace=True)
        dict1=df1.transpose().to_dict()
        col=list(df1.columns)
        context={
                'MKU_value':dict1,
                'MKU':col
        }
        return render(request, 'aview.html', context)
def bview(request):
    if request.method == 'POST':
          sbc = MTD.pdobjects.all()
          df = sbc.to_dataframe().reset_index(drop=True)
          filter_list = request.POST.get('regionwiselist', None)
          df=df[df['RGN'].isin(filter_list)]
          df1=pandas.pivot_table(df,index='Customer',columns='Salesman', values=['Sales_Value','Unit_Sales_Price'],aggfunc='sum').replace(numpy.nan,0)
          df1.reset_index(inplace=True)
          dict1=df1.transpose().to_dict()
          col=list(df1.columns)
          context={
                  'MKU_value':dict1,
                  'MKU':col
          }
          return render(request, 'bview.html', context)
    else:
        sbc = MTD.pdobjects.all()
        df = sbc.to_dataframe().reset_index(drop=True)
        df=df[df['RGN'].isin(filter_list)]
        df1=pandas.pivot_table(df,index='Customer',columns='Saleman',values=['Sales_Value','Unit_Sales_Price'],aggfunc='sum').replace(numpy.nan,0)
        df1.reset_index(inplace=True)
        dict1=df1.transpose().to_dict()
        col=list(df1.columns)
        context={
                'MKU_value':dict1,
                'MKU':col
        }
        return render(request, 'bview.html', context)

我们不使用form.py,而是使用pandas数据框来实现表格到数据框和过滤器的功能。

请帮助我进行梳理, 谢谢。

0 个答案:

没有答案