Отображение формы и сохранение поданных данных - PullRequest
2 голосов
/ 25 июня 2019

У меня есть простое приложение, которое сохраняет и отображает записи из базы данных,

@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, но это не важно для меня (это не настоящее приложение).Мне непонятно, как отобразить форму для создания нового пользователя и сохранения отправленных данных. Может ли кто-нибудь привести простой пример для этого?

Ответы [ 2 ]

0 голосов
/ 23 июля 2019

Вы можете использовать Sanic-WTF
Есть пример с Sanic-WTF + Jinja2 - https://bitbucket.org/voron-raven/synergy/src/1b8172a0bc61c5239c5ad2a2b9f064ed50ff81dd/views.py#lines-88

0 голосов
/ 26 июня 2019

У Саника нет «одного пути» сделать это.Санич не знает о формах.Это полностью зависит от того, что вы делаете в веб-интерфейсе, как вы кодируете данные.Вы отправляете JSON или закодированы в форме «данные формы»?Может быть, что-то совершенно другое?

Вы бы наверняка использовали «POST» вместо «GET», как вы делали выше.Вы можете проверить request и найти свои данные, которые были отправлены с внешнего интерфейса, а затем действовать по ним.(Хотя в настоящее время вы начинаете с разработки и реализации правильного (REST) ​​API - обычно основанного на JSON - и затем используете его. Слово «форма» здесь не появляется. Это просто данные.)

...