Помимо этого, неплохо бы удостоверится, что webview подключается именно так: QT += webkit.
libqtwebkit4/bionic,now 2.3.2-0ubuntu13 amd64 [установлен] libqtwebkit4-dbg/bionic,now 2.3.2-0ubuntu13 amd64 [установлен] libwebkit2gtk-4.0-37/bionic-updates,bionic-security,now 2.28.0-0ubuntu0.18.04.3 amd64 [установлен, автоматически] libwebkitgtk-1.0-0/bionic,now 2.4.11-3ubuntu3 amd64 [установлен, автоматически] libwebkitgtk-dev/bionic,now 2.4.11-3ubuntu3 amd64 [установлен]
query_pattern["action"] = "insert"
query_pattern["entity_id"] = 42
query_pattern["items"] = {"field_454": 1, "field_455": "-----"}
data = urllib.parse.urlencode(query_pattern)
print("query_pattern: ", query_pattern)
# print("data: ", data)
# response = requests.post(url, data=data)
response = requests.post(url, data=query_pattern)
print(json.loads(response.text))
query_pattern: {'username': 'admin', 'password': 'admin', 'action': 'insert', 'items': {'field_455': '-----', 'field_454': 1}, 'entity_id': 42, 'key': 'ejTNFQ5ysLI0G7iHBeY3g5XyVDUTZ1eVOQu9j2TY'}
{'error_code': '', 'error_message': 'items is not array', 'status': 'error'}
query_pattern["action"] = "insert"
query_pattern["entity_id"] = 42
query_pattern["items"] = {"field_454": 1, "field_455": "-----"}
data = urllib.parse.urlencode(query_pattern)
print("query_pattern: ", query_pattern)
print("data: ", data)
response = requests.post(url, data=data)
query_pattern: {'action': 'insert', 'entity_id': 42, 'key': 'ejTNFQ5ysLI0G7iHBeY3g5XyVDUTZ1eVOQu9j2TY', 'username': 'admin', 'items': {'field_455': '-----', 'field_454': 1}, 'password': 'admin'}
data: action=insert&entity_id=42&key=ejTNFQ5ysLI0G7iHBeY3g5XyVDUTZ1eVOQu9j2TY&username=admin&items=%7B%27field_455%27%3A+%27-----%27%2C+%27field_454%27%3A+1%7D&password=admin
{'error_message': 'key is required', 'status': 'error', 'error_code': ''}
{'error_code': '', 'status': 'error', 'error_message': 'key is required'}