После вызова request.post в консоли получите код ошибки и статуса 200.Состояние ответа 200 odoo 9
Как получить данные от контроллера?
Controller.py
import json
@http.route('/test_json', type="json", auth="public")
def some_json(self):
return json.dumps({"name": "Odoo", 'website': 'www.123.com'},{"name": "Odoo 2", 'website': 'www.456.com'})
На щелчка кнопки вызова
import requests,json
res = requests.post("http://localhost:8069/test_json",data=json.dumps({}),headers={"Content-Type":"application/json"})
body = res.text
print(body)
в консоли ПОЛУЧАЕТЕ:
{"jsonrpc": "2.0", "id": null, "error": {"message": "Odoo Server Error", "code": 200, "data": {"debug": "Traceback (most recent call last):\n File \"/home/pc/git/odoo/openerp/http.py\", line 648, in _handle_exception\n return super(JsonRequest, self)._handle_exception(exception)\n File \"/home/pc/git/odoo/openerp/http.py\", line 1631, in _dispatch_nodb\n func, arguments = self.nodb_routing_map.bind_to_environ(request.httprequest.environ).match()\n File \"/usr/lib/python2.7/dist-packages/werkzeug/routing.py\", line 1433, in match\n raise NotFound()\nNotFound: 404: Not Found\n", "exception_type": "internal_error", "message": "", "name": "werkzeug.exceptions.NotFound", "arguments": []}}}
+1 плюс один небольшой совет: вы можете проверить - если ошибка связана с базой данных или отсутствующей базой данных - в журналах. Каждая строка журнала привязана к db, поэтому, если вы не видите имя базы данных в строке вашего вызова, тогда это проблема. AFAIR вы действительно получаете NotFound, когда база данных не выбрана. – simahawk