Форма Django отправляется для просмотра нескольких URL-адресов (или) - PullRequest
0 голосов
/ 18 мая 2019

Есть ли способ использовать данные формы для передачи всех примененных видов, например,

У меня есть форма на одной странице,

<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 dataframe для таблиц в dataframe и фильтров.

Пожалуйста, помогите мне разобраться, спасибо.

...