আমি ভাবছিলাম যে এইচটিএমএলে কোনও পাঠ্য বাক্স থেকে কিছু নেওয়ার কোনও উপায় আছে, এটিকে ফ্লাস্কে খাওয়াতে হবে, তারপরে পাইথনের সাহায্যে ডেটা পার্স করুন। আমি ভাবছিলাম এটিতে কিছু জেএস জড়িত থাকতে পারে তবে আমি ভুল হতে পারি। কোন ধারনা?
আমি ভাবছিলাম যে এইচটিএমএলে কোনও পাঠ্য বাক্স থেকে কিছু নেওয়ার কোনও উপায় আছে, এটিকে ফ্লাস্কে খাওয়াতে হবে, তারপরে পাইথনের সাহায্যে ডেটা পার্স করুন। আমি ভাবছিলাম এটিতে কিছু জেএস জড়িত থাকতে পারে তবে আমি ভুল হতে পারি। কোন ধারনা?
উত্তর:
আপনি আরও জটিল কিছু করতে না চাইলে এইচটিএমএল ফর্ম থেকে ফ্লাস্কে ডেটা খাওয়ানো বেশ সহজ।
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
অনুরোধ ডেটা অ্যাক্সেস সম্পর্কে এটি ফ্লাস্ক ডকুমেন্টেশন ।
যদি আপনার আরও জটিল ফর্মগুলির প্রয়োজন হয় যাগুলির বৈধতার প্রয়োজন হয় তবে আপনি ডাব্লুটিফোর্ডগুলি এবং সেগুলি কীভাবে ফ্লাস্কের সাথে সংহত করতে পারবেন তা একবার দেখে নিতে পারেন ।
নোট: যদি না আপনার যদি অন্য কোন সীমাবদ্ধতা থাকতে, আপনি কি সত্যিই জাভাস্ক্রিপ্ট প্রয়োজন হবে না এ সব আপনার ডেটা পাঠাতে (যদিও আপনি এটি ব্যবহার করতে পারবেন)।
app.debug = True
ঠিক এর আগে রাখুন app.run()
যাতে আপনি ত্রুটির ব্যতিক্রম এবং ট্রেসব্যাক পান।
<input type="text" name="text">
দ্বারা <textarea name="text"></textarea>
এবং আপনার জরিমানা করা উচিত।
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')
ধরে নেওয়া যাক আপনি ইতিমধ্যে জানেন কিভাবে একটি দৃশ্য লিখতে মধ্যে Flask
কোন 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
}
});