Как переопределить функции просмотра приложения Flask - PullRequest
1 голос
/ 15 марта 2019

Я использую Flask (0.11.1) вместе с OpenERP и:

  1. Я уже определил правило URL:
@app.route("/sync_order")
def sync_order(): 
   print(1)
Я хочу переопределить его в другом модуле OE:
@app.route("/sync_order")
def sync_order(): 
   print(1)

# override it

@app.route("/sync_order")
def sync_order2(): 
   print(2)
но я получил ошибку:
AssertionError: View function mapping is overwriting an existing endpoint function: sync_order
вот мое текущее решение:
@app.route("/sync_order")
def sync_order(): 
   print(1)

def sync_order2(): 
   print(2)

# change the mapping of endpoint and view functions
# print `2` now
with app.app_context() as context:
    context.app.view_functions['sync_order'] = sync_order2

ТАК ЗДЕСЬ МОЙ ВОПРОС:

  1. Можно ли так делать, или у меня есть потенциальные проблемы?
  2. Есть ли другой способ переопределить функции представления?
  3. не изменять функцию источника, потому что если у меня нет модуля, функция должна вывести 1.

Спасибо

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...