source

텍스트 상자에서 플라스크로 데이터를 보내시겠습니까?

ittop 2023. 10. 24. 21:34
반응형

텍스트 상자에서 플라스크로 데이터를 보내시겠습니까?

HTML의 텍스트 상자에서 무언가를 가져와 플라스크에 넣은 다음 파이썬으로 데이터를 파싱하는 방법이 있는지 궁금합니다.JS를 포함할 수도 있다고 생각했는데 틀릴 수도 있습니다.무슨 생각 있어요?

좀 더 복잡한 작업을 하고 싶지 않다면 HTML 양식의 데이터를 Flask에 입력하는 것은 매우 쉽습니다.

  • POST 요청을 수락하는 보기 만들기 (my_form_post).
  • 사전의 양식 요소에 액세스합니다.request.form.

templates/my-form.html:

<form method="POST">
    <input name="text">
    <input type="submit">
</form>
from flask import Flask, request, render_template

app = Flask(__name__)

@app.route('/')
def my_form():
    return render_template('my-form.html')

@app.route('/', methods=['POST'])
def my_form_post():
    text = request.form['text']
    processed_text = text.upper()
    return processed_text

문서는 요청 데이터 접근에 관한 Flask 문서입니다.

검증이 필요한 복잡한 양식이 더 필요한 경우 WT 양식을 살펴보고 플라스크와 통합하는 방법을 확인할 수 있습니다.

참고: 다른 제한 사항이 없는 한, 데이터를 보내는 데 자바스크립트가 전혀 필요하지 않습니다(사용할 수는 있지만).

Plask endpoint를 선언하여 POST 입력 유형을 수락한 후 필요한 단계를 수행합니다.jQuery를 사용하여 데이터를 게시합니다.

from flask import request

@app.route('/parse_data', methods=['GET', 'POST'])
def parse_data(data):
    if request.method == "POST":
         #perform action here
var value = $('.textbox').val();
$.ajax({
  type: 'POST',
  url: "{{ url_for('parse_data') }}",
  data: JSON.stringify(value),
  contentType: 'application/json',
  success: function(data){
    // do something with the received data
  }
});

서버(플라스크 앱)와 클라이언트(브라우저) 간의 모든 상호 작용은 요청 및 응답에 따라 이루어집니다.사용자가 양식에 있는 버튼을 누르면 브라우저가 이 양식의 요청을 서버(플라스크 앱)로 보내면 다음과 같은 양식의 내용을 얻을 수 있습니다.

request.args.get('form_name')

보기를 작성하는 방법을 이미 알고 있다고 가정할 경우Flaskurl에 응답하는 url, 다음을 읽는 url을 생성합니다.request.post데이터. 추가하려면input box이 포스트 데이터에 텍스트 상자를 사용하여 페이지에 양식을 작성합니다.그러면 사용할 수 있습니다.jquery하기 위해서

var data = $('#<form-id>').serialize()

그런 다음 아래와 같은 것을 사용하여 비동기적으로 자신의 보기에 게시합니다.

$.post('<your view url>', function(data) {
  $('.result').html(data);
});

저는 이게 통했어요.

def parse_data():
    if request.method == "POST":
        data = request.get_json()
        print(data['answers'])
        return render_template('output.html', data=data)
$.ajax({
      type: 'POST',
      url: "/parse_data",
      data: JSON.stringify({values}),
      contentType: "application/json;charset=utf-8",
      dataType: "json",
      success: function(data){
        // do something with the received data
      }
    });

언급URL : https://stackoverflow.com/questions/12277933/send-data-from-a-textbox-into-flask

반응형