Я делаю сервер, который позволяет клиентам загружать и загружать данные разных моделей.Есть ли какой-нибудь элегантный способ обработки запросов?
Точнее, я не хочу делать что-то подобное,
app = webapp.WSGIApplication([
('/my_upload_and_download_url/ModelA/(.*)', MyRequestHandlerForA),
('/my_upload_and_download_url/ModelB/(.*)', MyRequestHandlerForB),
('/my_upload_and_download_url/ModelC/(.*)', MyRequestHandlerForC),
])
run_wsgi_app(app)
, поскольку то, что я делаю внутри обработчика, будет одинаковым,Например,
class MyRequestHandlerForX(webapp.RequestHandler):
def get(self, key=None):
# return the instance with the designated key
def post(self, key=None):
# create/get the model instance
# iterate through the property list of the instance and set the values
единственная разница между обработчиками заключается в создании экземпляра для различных моделей .URL-адреса одинаковы, и обработчики почти одинаковы.
Я проверил этот пост о запросах перенаправления на другие обработчики, и я также прочитал некоторые методы для создания экземпляра с помощьюназвание класса;но я думаю, что ни один из них не является хорошим.
У кого-нибудь есть хорошее решение?
ps Это мой первый пост здесь.Если есть что-то неуместное, пожалуйста, скажите мне, спасибо.