如何让 Flask-Admin 接受 JSON 来创建记录
How to allow Flask-Admin to accept JSON for record creation
我想知道是否可以将 Flask-Admin
与 python requests
库结合使用,通过脚本在数据库中创建新记录。一个例子是这样的:
import requests
new_userdata = {'username': 'testuser', 'confirmed_at': None, 'login_count': 0, 'last_login_at': None, 'active': False, 'password': 'password', 'current_login_ip': None, 'last_login_ip': None, 'current_login_at': None, 'email': 'test@test.com'}
url = "http://localhost:5000/admin/user/new/"
r = requests.post(url, data=new_userdata, headers={"content-type":"application/json")
我已经试过了, 成功地在数据库中创建了一条新的 user
记录,但是记录中的所有字段都是 null
.是否需要更改配置设置以允许这种行为?我无法在讨论这种用法的 Flask-Admin
文档中找到。
您发送的是表单数据,但您还说内容类型是 JSON。如果您实际上要发送 JSON 数据,则需要调用 json.dumps
,或者传递 json=
而不是 data=
。只需删除 header 并发送表单数据,因为它显然足以处理您发送的数据并且 Flask-Admin 可以识别它。
我想知道是否可以将 Flask-Admin
与 python requests
库结合使用,通过脚本在数据库中创建新记录。一个例子是这样的:
import requests
new_userdata = {'username': 'testuser', 'confirmed_at': None, 'login_count': 0, 'last_login_at': None, 'active': False, 'password': 'password', 'current_login_ip': None, 'last_login_ip': None, 'current_login_at': None, 'email': 'test@test.com'}
url = "http://localhost:5000/admin/user/new/"
r = requests.post(url, data=new_userdata, headers={"content-type":"application/json")
我已经试过了, 成功地在数据库中创建了一条新的 user
记录,但是记录中的所有字段都是 null
.是否需要更改配置设置以允许这种行为?我无法在讨论这种用法的 Flask-Admin
文档中找到。
您发送的是表单数据,但您还说内容类型是 JSON。如果您实际上要发送 JSON 数据,则需要调用 json.dumps
,或者传递 json=
而不是 data=
。只需删除 header 并发送表单数据,因为它显然足以处理您发送的数据并且 Flask-Admin 可以识别它。