#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
для получения аргументов строки запроса.