0

GETと機能を持つメインページがありPOSTます。関数はPOST検索画面からデータを取得し、ajax 呼び出しを介してこの情報をworldMarkersクラスに渡す必要があります。これは、アプリケーションの他の側面で必要になるため、別個のものです。

これの目的は、ユーザーが通話index中に送信を押してPOST、取得される結果を制限できるようにすることです。このロジックはworldMarkersクラスに存在します。

class index(object):
    def GET(self):
        # do things to generate the page
        return html

    def POST(self):
        continents = web.input(search_continents=[])
        countries = web.input(search_countries=[])

        searchDict = {}
        if continents['search_continents']:
            searchDict['continents'] = continents['search_continents']
        if countries['search_countries']:
            searchDict['countries'] = countries['search_countries']

        markers = worldMarkers()

        # Yes, this just spits out the results, nothing fancy right now
        return markers.GET()

        #alternatively,
        #return markers.GET(searchDict)



class worldMarkers(object):        
    def __init__(self, **kargs):
        self.searchDict = None
        if 'searchDict' in kargs:
            self.searchDict = kargs['searchDict']

    def GET(self):
        print "SearchDict: %s" % (self.searchDict)
        # No searchDict data exists

パラメータのない最初のオプションは、markers.GET()私の検索基準がどれも渡されなかったことを意味します。するとmarkers.GET(searchDict)、次のエラーが表示されます。

<type 'exceptions.TypeError'> at /
GET() takes exactly 1 argument (2 given)

worldMarkers検索パラメータをクラスに渡すにはどうすればよいですか?

4

1 に答える 1