2

我有一个简单的应用程序,可以保存和显示数据库中的记录,

@user_endpoints.get("/user/<id>")
def get_user(request, id):
    dct = User.by_id(id)
    if not dct:
        return response.json({"Error": "Not Found"}, status=404)
    return response.json(dct.to_dict(), status=200)

在显示用户列表时,类似下面的代码就足够了,

@user_endpoints.get("/users")
def list_users(request):
    dct = User.all()
    template = template_env.get_template('user_list.html')
    content = template.render(title='User List', users=dct)
    return response.html(content)

以上使用 Jinja2 但这对我来说并不重要(这不是一个真正的应用程序)。我不清楚如何显示用于创建新用户和保存提交数据的表单,有人可以提供一个简单的例子吗?

4

2 回答 2

0

Sanic 没有“一种方法”可以做到这一点。Sanic 不知道形式。这完全取决于你在前端做什么,你如何编码数据。您是发送 JSON 还是“表单数据”编码?也许是完全不同的东西?

你肯定会像上面那样使用“POST”而不是“GET”。您可以检查request并找到从前端发送的数据,然后对其采取行动。(虽然现在你会从设计和实现适当的(REST)API 开始——通常基于 JSON——然后使用它。“表单”这个词没有出现在这里。它只是数据。)

于 2019-06-26T07:15:32.543 回答
0

你可以使用Sanic-WTF
有一个 Sanic-WTF + Jinja2 的例子 - https://bitbucket.org/voron-raven/synergy/src/1b8172a0bc61c5239c5ad2a2b9f064ed50ff81dd/views.py#lines-88

于 2019-07-23T12:01:30.107 回答