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上看到了一些东西,我需要用这样的东西。我知道单击链接时会触发此类,但希望找到使用 RequestHandler 而不是 def 函数使其工作的最聪明的方法。我得到的错误是:

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 回答