簡體   English   中英

TypeError:get()接受2個位置參數,但給出了3個

[英]TypeError: get() takes 2 positional arguments but 3 were given

我試圖在我的頁面上顯示輸入,並且一直在關注Max Goodridge的演練ep.45,但似乎已經讓自己陷入了這個特定的部分。 如果有人可以提供幫助,這將是一個巨大的幫助。

我的urls.py:

 url(r'^bandlist/$', polls_views.bandlist, name='bandlist'),
 url(r'^bandlist/(\d+)/$', polls_views.BandView.as_view(), name='bandview'),

我的views.py

def bandlist(request):
    query = Band.objects.order_by('bandname')
    args =  {'query': query}
    return render(request, 'bandlist.html', args)

class BandView(TemplateView):
    template_name = 'bandview.html'

    def get(self, request):
        form = BandForm()
        return render(request, self.template_name, {'form': form})

我的forms.py

class BandForm(forms.Form):
    post = forms.CharField()  

和模板(band.html)

{% extends 'bbase.html' %}


{% block content %}
<h1>{{ band.bandname }}</h1>

<h5>Total Ratings: {{ band.totalrating }}</h5>
<h5>How many times have {{band.bandname}} been rated: {{ band.totalrated }}</h5>
<h5>Average rating (Out of 5): </h5>

<form method="post">
    {{ form.as_p }}
    <input type="submit" value="Score" />
</form>
{% endblock %}

在此之后,我將嘗試為每個樂隊實施評級和評審系統。 如果有人能就此提出建議,我將非常感激。

編輯:這是完整的追溯:

Internal Server Error: /bandlist/1/
Traceback (most recent call last):
  File "C:\Users\Ethan\Envs\OnNote\lib\site-packages\django\core\handlers\exception.py", line 41, in inner
    response = get_response(request)
  File "C:\Users\Ethan\Envs\OnNote\lib\site-packages\django\core\handlers\base.py", line 187, in _get_response
    response = self.process_exception_by_middleware(e, request)
  File "C:\Users\Ethan\Envs\OnNote\lib\site-packages\django\core\handlers\base.py", line 185, in _get_response
    response = wrapped_callback(request, *callback_args, **callback_kwargs)
  File "C:\Users\Ethan\Envs\OnNote\lib\site-packages\django\views\generic\base.py", line 68, in view
    return self.dispatch(request, *args, **kwargs)
  File "C:\Users\Ethan\Envs\OnNote\lib\site-packages\django\views\generic\base.py", line 88, in dispatch
    return handler(request, *args, **kwargs)
TypeError: get() takes 2 positional arguments but 3 were given

你的get()方法實現缺少一個參數。

首先檢查TemplateView祖先類
https://docs.djangoproject.com/en/2.0/ref/class-based-views/base/#django.views.generic.base.TemplateView

放大以查看確切的get()方法實現https://docs.djangoproject.com/en/2.0/ref/class-based-views/base/#django.views.generic.base.View

  def get(self, request, *args, **kwargs):
        return HttpResponse('Hello, World!')

暫無
暫無

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

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