1

表示されたリストからレコードを処理する最良の方法がわかりません。template.html で次のようにクエリ文字列にレコード ID を含むリンクをクリックすることをユーザーに許可しています。

<a href="/edit_record?id={{company.key.id}}">Edit</a>

私は自分のハンドラーに持っています:

application = webapp.WSGIApplication([
  ('/', DisplayMaphandler),
  ('/companyadd', AddCompanyHandler),
  ('/validatecompanies', Validationhandler),
  ('/addcompanycategories', AddCompanyCategoriesHandler),
  ('/editcompany', EditCompanyHandler),
  ('/edit_record', EditRecordHandler),
], debug=True)

IDを取得したいのですが、このコードは明らかに間違っており、まったく機能しません:

class EditRecordHandler(webapp.RequestHandler):    
    def get(request):
        myid = request.GET.get('id', '')
        self.response.out.write(myid)

このクラスからIDを取得するにはどうすればよいですか。さらに、urlconf でいくつか見たことがありますが、そのようなものを使用する必要がありますか。リンクをクリックするとこのクラスがトリガーされることはわかっていますが、これを def 関数ではなく RequestHandler で機能させる最もスマートな方法を見つけたいと考えています。私が得ているエラーは次のとおりです。

AttributeError: 'EditRecordHandler' object has no attribute 'GET'

ありがとう

4

2 に答える 2

2

EditRecordHandler getメソッドを次のように変更します。

class EditRecordHandler(webapp.RequestHandler):    
    def get(self):
        myid = self.request.get('id')
        self.response.out.write(myid)
于 2012-07-06T14:56:51.773 に答える
0

自由に編集してください..

urls.py で:

urlpatterns = patterns('',
    (r'^/edit_record/', EditRecordHandler),
)

request.method == 'GET' を使用すると、忘れてしまいます (self,request):

class EditRecordHandler():    
    def get(self,request):
        if request.method == 'GET':
            myid = self.request.get('id')
于 2012-07-06T15:19:05.047 に答える