Django Typeerror:\uuuu init\uuuu()接受1个位置参数,但给出了2个。我已经看到了许多解决这个错误的方法,但没有一个与我的情况相匹配

Django Typeerror:\uuuu init\uuuu()接受1个位置参数,但给出了2个。我已经看到了许多解决这个错误的方法,但没有一个与我的情况相匹配,django,django-rest-framework,Django,Django Rest Framework,我已经看到了许多解决这个错误的方法,但是没有一个与我的情况相匹配。我确信init类会得到多个参数,但我不知道如何解决这个问题 我的页面有一个下拉菜单。从下拉列表中选择值后,区域列表将以列表的形式出现。当我点击列表中的一个项目时,一个图表应该出现在同一页上。因此,我所做的是,我创建了一个初始表单(类MonthlySalesGraphs),填充后将呈现下一页,即view MonthlSalesGraphs_2,它与MonthlySalesGraph相同,但唯一的区别是它显示图形。但很明显,当这个错误

我已经看到了许多解决这个错误的方法,但是没有一个与我的情况相匹配。我确信init类会得到多个参数,但我不知道如何解决这个问题

我的页面有一个下拉菜单。从下拉列表中选择值后,区域列表将以列表的形式出现。当我点击列表中的一个项目时,一个图表应该出现在同一页上。因此,我所做的是,我创建了一个初始表单(类MonthlySalesGraphs),填充后将呈现下一页,即view MonthlSalesGraphs_2,它与MonthlySalesGraph相同,但唯一的区别是它显示图形。但很明显,当这个错误突然出现时,这是不起作用的

回溯:

Traceback (most recent call last):
  File "C:\Users\Test\AppData\Local\Programs\Python\Python36-32\lib\site- 
packages\django\core\handlers\exception.py", line 35, in inner
    response = get_response(request)
  File "C:\Users\Test\AppData\Local\Programs\Python\Python36-32\lib\site- 
packages\django\core\handlers\base.py", line 128, in _get_response
    response = self.process_exception_by_middleware(e, request)
  File "C:\Users\Test\AppData\Local\Programs\Python\Python36-32\lib\site- 
packages\django\core\handlers\base.py", line 126, in _get_response
    response = wrapped_callback(request, *callback_args, **callback_kwargs)
  File "C:\Users\Test\AppData\Local\Programs\Python\Python36-32\lib\site- 
packages\django\views\generic\base.py", line 69, in view
    return self.dispatch(request, *args, **kwargs)
  File "C:\Users\Test\AppData\Local\Programs\Python\Python36-32\lib\site- 
packages\django\views\generic\base.py", line 89, in dispatch
    return handler(request, *args, **kwargs)
  File "D:\hemanth\intern2\intern\sales\views.py", line 329, in get
    form = self.form_class(request.GET)
TypeError: __init__() takes 1 positional argument but 2 were given
[17/Jul/2018 12:35:39] "GET /sales/monthly-sales/graphs/L11/ HTTP/1.1" 500 
73978
views.py

   class MonthlySalesGraphs(generic.TemplateView):
    form_class = MonthlySalesGraphs
    template_name = 'sales/MonthlySalesGraphs.html'

    def get(self, request):
        if request.user.is_authenticated:
            form = self.form_class(request.GET)
            if form.is_valid():
                zone_code_ = form.cleaned_data['zones']
                regions = Region.objects.filter(zone_code=zone_code_)
                return render(request, 'sales/MonthlySalesGraphs.html', 
{'form': form, 'regions': regions})

            return render(request, 'sales/MonthlySalesGraphs.html', {'form': 
form})
        else:
            return redirect('/sales/')


class MonthlySalesGraphs_2(generic.TemplateView):
    form_`enter code here`class = MonthlySalesGraphs
    template_name = 'sales/MonthlySalesGraphs_2.html'

    def get(self, request, region_id):
        if request.user.is_authenticated:
            form = self.form_class(request.GET)
            if form.is_valid():
                zone_code_ = form.cleaned_data['zones']
                regions = Region.objects.filter(zone_code=zone_code_)
                return render(request, 'sales/MonthlySalesGraphs_2.html', 
{'form': form, 'regions': regions})
            return render(request, 'sales/MonthlySalesGraphs.html', {'form': 
form})

        else:
            return redirect('/sales/')
模板:

<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <title>Monthly Sales</title>
    {% include 'sales/base.html' %}
    {% include 'sales/include.html' %}
</head>
<body>
    <div align="center">
    <form >
        {% include 'sales/form_template.html' %}
        <div align="center">
        <input type="submit" value="Apply" style="padding: 5px;" >
        </div>
    </form>
    </div>
    <div align="left">
        <ol>
            {% for r in regions %}
                <a href="{% url 'sales:mon_sales_graphs_2' r.region_code %}"> 
<li>{{ r }}</li></a>
            {% endfor %}
        </ol>
    </div>

<table cellpadding="50px">
    <tc>
        <td>
    <div style="width: 500px; height: 500px">
      <canvas id="myChart" width="400" height="400"></canvas>
    </div>
        </td>
     </tc>
    <tc>
        <td>
     <div style="width: 500px; height: 500px">
      <canvas id="myChart2" width="400" height="400"></canvas>
    </div>
        </td>
        </tc>
</table>
    <script>
    {% block jquery %}
    var endpoint='api/data/'
    var defaultData = []
    var labels = []

    $.ajax({
      method: "GET",
      url: endpoint,
      success: function(data) {
      labels = data.labels
      defaultData = data.default
      setChart()

      },
      error: function(error_data) {
        console.log("error");
        console.log(error_data);
      },
    })

    function setChart(){
      var ctx = document.getElementById("myChart").getContext('2d');
      var ctx2 = document.getElementById("myChart2").getContext('2d');
      var myChart = new Chart(ctx, {
          type: 'bar',
          data: {
              labels: labels,
              datasets: [{
                  label: 'Sales',
                  data: defaultData,
                  backgroundColor: [
                      'rgba(255, 99, 132, 0.2)',
                      'rgba(54, 162, 235, 0.2)',
                      'rgba(255, 206, 86, 0.2)',
                      'rgba(75, 192, 192, 0.2)',
                      'rgba(153, 102, 255, 0.2)',
                       'rgba(255, 159, 64, 0.2)'
                  ],
                  borderColor: [
                      'rgba(255,99,132,1)',
                      'rgba(54, 162, 235, 1)',
                      'rgba(255, 206, 86, 1)',
                      'rgba(75, 192, 192, 1)',
                      'rgba(153, 102, 255, 1)',
                      'rgba(255, 159, 64, 1)'
                  ],
                  borderWidth: 1
              }]
          },
          options: {
              scales: {
                  yAxes: [{
                      ticks: {
                          beginAtZero:true
                      }
                   }]
              }
          }
      });

      var myChart2 = new Chart(ctx2, {
          type: 'line',
          data: {
              labels: labels,
              datasets: [{
                  label: 'Sales',
                  data: defaultData,
                  backgroundColor: [
                      'rgba(255, 99, 132, 0.2)',
                      'rgba(54, 162, 235, 0.2)',
                      'rgba(255, 206, 86, 0.2)',
                      'rgba(75, 192, 192, 0.2)',
                      'rgba(153, 102, 255, 0.2)',
                      'rgba(255, 159, 64, 0.2)'
                  ],
                  borderColor: [
                       'rgba(255,99,132,1)',
                      'rgba(54, 162, 235, 1)',
                      'rgba(255, 206, 86, 1)',
                      'rgba(75, 192, 192, 1)',
                      'rgba(153, 102, 255, 1)',
                      'rgba(255, 159, 64, 1)'
                  ],
                  borderWidth: 1
              }]
          },
          options: {
              scales: {
                  yAxes: [{
                      ticks: {
                          beginAtZero:true
                      }
                  }]
              }
          }
      });

    }

  {% endblock %}
</script>

</body>
</html>
编辑:

url.py

url(r'^$', login, {'template_name': 'sales/login.html'}, name='login'),
url(r'^home/$', views.HomePage.as_view(), name='home-page'),
url(r'^csv-import/$', views.CSVimport, name='csv-import'),
url(r'^monthly-sales/zone-ro/$', views.MonthlySales_Zone_RO.as_view(), 
name='mon_sales_z_ro'),
url(r'^monthly-sales/zone-date/$', views.MonthlySales_Zone_Date.as_view(), 
name='mon_sales_z_d'),
url(r'ajax/load-regions/$', views.load_regions, name='zone-ro-dropdown'),
url(r'^monthly-sales/graphs/$', views.MonthlySalesGraphs.as_view(), 
name="mon_sales_graphs"),
url(r'^monthly-sales/graphs/(?P<region_id>[A-Z][0-9][0-9]*)/$', 
views.MonthlySalesGraphs_2.as_view(), name="mon_sales_graphs_2"),
url(r'^monthly-sales/graphs/(?P<region_id>[A-Z][0-9][0-9]*)/api/data/$', 
views.MonthlySalesGraphsAPI.as_view(), name="mon_sales_graphs_api"),
url(r'^$',login,{'template_name':'sales/login.html'},name='login'),
url(r“^home/$”,views.HomePage.as_view(),name='home-page'),
url(r“^csv导入/$”,views.CSVimport,name='csv-import'),
url(r“^monthly sales/zone ro/$”,views.MonthlySales\u zone\u ro.as\u view(),
name='mon_sales_z_ro'),
url(r“^monthly sales/zone date/$”,views.MonthlySales\u zone\u date.as\u view(),
name='mon_sales_z_d'),
url(r'ajax/load regions/$,views.load_regions,name='zone-ro-dropdown'),
url(r“^monthly sales/graphs/$”,views.MonthlySalesGraphs.as_view(),
name=“mon_sales_graphs”),
url(r'^月销售额/图表/(?P[A-Z][0-9][0-9]*)/$,
views.monthlysalegraphs_2.as_view(),name=“mon_sales_graphs_2”),
url(r'^monthly sales/graphs/(?P[A-Z][0-9][0-9]*)/api/data/$),
views.MonthlySalesGraphsAPI.as_view(),name=“mon_sales_graphs_api”),

基于类的视图与表单名称相同,因此Django采用基于类的视图。此外,基于类的视图的Python语法无效。@WillemVanOnsem您所说的无效Python语法是什么意思?
表单`在这里输入code`class=MonthlySalesGraphs
…但无论如何。我建议将
Form
后缀添加到
MonthlySalesGraphs
Form类中,这样它就不会与基于类的视图的类名冲突。
url(r'^$', login, {'template_name': 'sales/login.html'}, name='login'),
url(r'^home/$', views.HomePage.as_view(), name='home-page'),
url(r'^csv-import/$', views.CSVimport, name='csv-import'),
url(r'^monthly-sales/zone-ro/$', views.MonthlySales_Zone_RO.as_view(), 
name='mon_sales_z_ro'),
url(r'^monthly-sales/zone-date/$', views.MonthlySales_Zone_Date.as_view(), 
name='mon_sales_z_d'),
url(r'ajax/load-regions/$', views.load_regions, name='zone-ro-dropdown'),
url(r'^monthly-sales/graphs/$', views.MonthlySalesGraphs.as_view(), 
name="mon_sales_graphs"),
url(r'^monthly-sales/graphs/(?P<region_id>[A-Z][0-9][0-9]*)/$', 
views.MonthlySalesGraphs_2.as_view(), name="mon_sales_graphs_2"),
url(r'^monthly-sales/graphs/(?P<region_id>[A-Z][0-9][0-9]*)/api/data/$', 
views.MonthlySalesGraphsAPI.as_view(), name="mon_sales_graphs_api"),