Сопоставление URL-адресов в моем скрипте-обработчике в App Engine

#python #google-app-engine #url #mapping

#python #google-app-engine #url #сопоставление

Вопрос:

У меня есть

 class Auth(webapp.RequestHandler):
    def get(self,username,password):
        self.response.out.write("auth"   self.request.get("username"))
  

Структура моего URL будет:

 /api/auth/?username=xxxxamp;password=xxxx
  

Как мне сопоставить этот URL-адрес в моем скрипте-обработчике?

Комментарии:

1. Есть ли шанс, что вы можете использовать POST вместо этого? Пароли в GETs не являются лучшей практикой. (Дополнительная оценка: используйте что-то лучшее, чем обычные пароли по проводам)

Ответ №1:

Обработчик:

 class Auth(webapp.RequestHandler):
    def get(self):
        self.response.out.write("username"   self.request.get("username"))
        self.response.out.write("password"   self.request.get("password"))
  

URL:

 /api/auth?username=xxxxamp;password=xxxx
  

Приложение:

 application = webapp.WSGIApplication([
    ('/api/auth', Auth),
    ], debug=True)
  

Комментарии:

1. Не уверен, почему ваш не сработал, но я заставил это работать (/ api / auth/(.*)(.*)’, Auth)

2. @jwesonga Это работает только потому, что (.*) соответствует пустой строке, и у вас есть два дополнительных параметра ‘username’ и ‘password’. Удалите эти параметры из вашего обработчика — вы должны использовать self.request.get для получения аргументов строки запроса.