Pourquoi puis-je obtenir TypeError: get() prend exactement 2 arguments (1 donnée)? Google App Engine

J'ai essayé et essayé pendant plusieurs heures maintenant et il doit y avoir un moyen facile de récupérer l'url. Je pensais que c'était le moyen:

#from data.models import Program

import basehandler

class ProgramViewHandler(basehandler.BaseHandler):
    def get(self,slug):
#        query = Program.all()
#        query.filter('slug =', fslug)
        self.render_template('../presentation/program.html',{})

Lorsque ce code est exécuté, j'obtiens cette erreur sur la stacktrace:

appengine\ext\webapp__init__.py" de ligne, 511, dans appel
gestionnaire d'.get(*groupes)
TypeError: get() prend exactement 2 arguments (1 donnée)

J'ai fait un peu de débogage, mais ce genre de débogage dépasse mon niveau de débogage. Quand j'enlève le slug de def get(self,slug) tout fonctionne très bien.

C'est le basehandler:

import os

from google.appengine.ext import webapp
from google.appengine.ext.webapp import template



class BaseHandler(webapp.RequestHandler):
    def __init__(self,**kw):
        webapp.RequestHandler.__init__(BaseHandler, **kw)

    def render_template(self, template_file, data=None, **kw):
        path = os.path.join(os.path.dirname(__file__), template_file)
        self.response.out.write(template.render(path, data))

Si quelqu'un pouvait me diriger dans la bonne direction, il serait grand! Merci!!!! C'est la première fois pour moi d'utiliser stackoverflow pour poster une question, normalement je n'ai lu que pour résoudre les problèmes que j'ai.

  • Votre BaseHandler de init est également trompe - il devrait être super(BaseHandler, self).__init__(**kw) - mais étant donné qu'il ne fait pas faire quoi que ce soit, il n'y a pas besoin de le remplacer dans la première place.