TypeError at / confirmemail / amlqctnhel / confirmemail () nimmt genau 2 Argumente (1 gegeben), warum?

Fehler:

TypeError at /confirmemail/amlqctnhel/ confirmemail() takes exactly 2 arguments (1 given) Request Method: GET Request URL: http://127.0.0.1:8000/confirmemail/amlqctnhel/ Django Version: 1.3.1 Exception Type: TypeError Exception Value: confirmemail() takes exactly 2 arguments (1 given) Exception Location: /usr/local/lib/python2.6/dist-packages/django/core/handlers/base.py in get_response, line 111 Python Executable: /usr/bin/python Python Version: 2.6.6 Python Path: ['/home/user1/djangoblog', '/usr/lib/python2.6', '/usr/lib/python2.6/plat-linux2', '/usr/lib/python2.6/lib-tk', '/usr/lib/python2.6/lib-old', '/usr/lib/python2.6/lib-dynload', '/usr/local/lib/python2.6/dist-packages', '/usr/lib/python2.6/dist-packages', '/usr/lib/python2.6/dist-packages/gst-0.10', '/usr/lib/pymodules/python2.6', '/usr/lib/pymodules/python2.6/gtk-2.0'] 

Urls.py:

 url(r'^confirmemail/[a-zA-Z0-9]{10}/$', 'blog.views.confirmemail'), 

Views.py:

 def confirmemail(request,token): user = Users.objects.get(email_token = token) return render_to_response('confirmemail.html', {'user': user}, context_instance=RequestContext(request)) 

Es wird sehr geschätzt, wenn jemand mir helfen kann, es zu beheben. Danke.

  • Gegenstände von id in Django
  • Wie benutzt man Django Cycle Tag
  • Kann jemand erklären, wie kann ich arg oder kwargs von redirect zu einer anderen Ansicht übergeben?
  • Funktionsbasierte generische Ansichten wurden veraltet
  • Wie man Dekorateur anwendet Versandmethode in klassenbasierten Ansichten Django
  • Django: Rufen Sie eine Methode nur einmal an, wenn der Django startet
  • Django sortiere die Abfrageelemente in einer wöchentlichen monatlichen täglichen Mode
  • E-Mail in Django funktioniert nicht manchmal
  • 2 Solutions collect form web for “TypeError at / confirmemail / amlqctnhel / confirmemail () nimmt genau 2 Argumente (1 gegeben), warum?”

    In einer URLconf müssen Sie Capturing-Gruppen in deiner Regex verwenden, um Positions- oder Keyword-Argumente in deiner Ansicht zu erreichen. Wenn Sie eine benannte Capture-Gruppe verwenden, werden Keyword-Argumente verwendet. Andernfalls werden Positionsargumente verwendet.

    Hier ist, was deine url() Linie aussehen soll:

     url(r'^confirmemail/([a-zA-Z0-9]{10})/$', 'blog.views.confirmemail'), # or url(r'^confirmemail/(?P<token>[a-zA-Z0-9]{10})/$', 'blog.views.confirmemail'), 

    Das erste Formular verwendet ein Positionsargument (und Positionsargumente werden von den Capture-Gruppen in der URL geordnet). Das zweite Formular verwendet ein Keyword-Argument, in diesem Fall token . Das zweite Formular ist mehr Zeichen, aber auch sicher gegen Parametrierung.

    Sie arent Erfassung eines Musters in Ihrer URL, so dass es nicht einen Wert für Ihren Token-Parameter

     url(r'^confirmemail/([a-zA-Z0-9]{10})/$', 'blog.views.confirmemail'), 

    Beachten Sie, dass ich Ihr Muster in einer Capture-Gruppe verpackt habe

    Python ist die beste Programmiersprache der Welt.