от
Я все еще пытаюсь изучить флешку / перенаправления / и т.д. в целом. Я попытался создать простую страницу с кнопкой отправки, и когда я отправляю, перенаправляет на страницу, которая показывает данные JSON. Но ничего не происходит, когда я нажимаю кнопку. Я могу получить доступ к конечной точке в своем URL браузера. Вот как работает мое понимание. Пожалуйста, укажите, где я это неправильно понимаю. Служите
index.html
. У меня есть форма (кнопка «Отправить»), которая имеет метод
POST
в
index.html
. Когда я нажимаю кнопку отправки, она должна перенаправить меня на страницу с
jsonify
данными. Причина, по которой я использую jsonify, заключается в том, что это часть более крупного шага, который я пытаюсь сделать, когда я нажимаю кнопку, он запрашивает базу данных и возвращает json для resultproxy. Я думаю, что это будет связано с AJAX. Я все еще должен разобраться. app.py
from flask import Flask, render_template, redirect, request, url_for, jsonify
from forms import Submit
import os
import json

app = Flask(__name__)
app.config['SECRET_KEY'] = os.urandom(12)


@app.route('/', methods=['GET', 'POST'])
def home():
    form = Submit()
    if request.method == 'POST':
        return redirect(url_for('data'))
    return render_template('index.html')


@app.route('/data')
def data():
    data = {
        'author': 'rowling',
        'book': 'harry potter'
    }
    return jsonify(data)


if __name__ == '__main__':
    app.run(debug=True)
forms.py
from flask_wtf import FlaskForm
from wtforms import validators, SubmitField


class Submit(FlaskForm):
    submit = SubmitField(label='submit')
index.html
Hello world



             

Ваш ответ

Отображаемое имя (по желанию):
Конфиденциальность: Ваш электронный адрес будет использоваться только для отправки уведомлений.
Анти-спам проверка:
Чтобы избежать проверки в будущем, пожалуйста войдите или зарегистрируйтесь.

1 Ответ

0 голосов
от
Пожалуйста, взгляните на свой шаблон, форма была определена для отправки методом GET вместо метода POST:
Добро пожаловать на сайт ByNets, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...