Ошибка 2 аргументов на производстве, но не на сервере разработки - PullRequest
0 голосов
/ 05 октября 2010

Я получаю следующую ошибку:

Traceback (most recent call last):
File "/base/python_runtime/python_lib/versions/1/google/appengine/ext/webapp/__init__.py", line 511, in __call__
handler.get(*groups)
TypeError: get() takes exactly 1 argument (2 given)

Что сумасшедшего, так это то, что я получаю его только после развертывания приложения - на сервере разработки оно работает отлично. Я рву свои волосы!

import cgi
import os
import string

from google.appengine.api import users
from google.appengine.ext import webapp, db
from google.appengine.ext.webapp import util, template
from google.appengine.ext.webapp import template
from models import *
from functions import *

class ListView(webapp.RequestHandler):
    def get(self, f):
        url = users.create_logout_url(self.request.uri)

        u = parse_url(f)

        votergroup = Voter.all()
        votergroup.filter('lists =', u['list'])

        customlists = CustomList.all()

        template_values = {
                'votergroup': votergroup,
                'customlists': customlists,
                'url': url
                }
        path = os.path.join(os.path.dirname(__file__), 'templates/list_view.html')
        self.response.out.write(template.render(path, template_values))

class CreateList(webapp.RequestHandler):
    def get(self, f):
        if users.is_current_user_admin():
            cuser = None
        else:
            cuser = CampaignUser.all()
            cuser.filter('uaccount =', users.get_current_user())
            cuser = cuser[0]

        u = parse_url(f)

        c = db.get(u['group'])
        filters = CustomGroupFilter.all()
        filters.filter('customquery =', c.key())

        l = CustomList()
        l.name = 'Custom List: ' + c.name
        l.campaign = cuser.campaign
        l.put()

        votergroup = Voter.all()
        for filt in filters:
            votergroup.filter(filt.queryfield + ' =', string.upper(filt.query))

        for v in votergroup:
            v.lists.append(str(l.key()))
            v.put()

        self.redirect('/list/target/custom/list/' + str(l.key()))

application = webapp.WSGIApplication(
                [('/list/target/create/(.*)', CreateList),
                 ('/list/(.*)', ListView)],
                debug=True)

def main():
    util.run_wsgi_app(application)

if __name__ == "__main__":
    main()

1 Ответ

0 голосов
/ 05 октября 2010

Я понял, что случилось.Я изменил строку версии для приложения - так что, хотя я обновлял ее, она вытягивала старую «версию».Установка нового на значение по умолчанию сработало.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...