কীভাবে স্ট্রিংটি পাবেন সে সম্পর্কে ফ্লাস্ক ডকুমেন্টেশন থেকে স্পষ্ট নয়। আমি নতুন, ডক্সের দিকে তাকালাম, খুঁজে পেলাম না!
সুতরাং
@app.route('/')
@app.route('/data')
def data():
query_string=??????
return render_template("data.html")
কীভাবে স্ট্রিংটি পাবেন সে সম্পর্কে ফ্লাস্ক ডকুমেন্টেশন থেকে স্পষ্ট নয়। আমি নতুন, ডক্সের দিকে তাকালাম, খুঁজে পেলাম না!
সুতরাং
@app.route('/')
@app.route('/data')
def data():
query_string=??????
return render_template("data.html")
উত্তর:
from flask import request
@app.route('/data')
def data():
# here we want to get the value of user (i.e. ?user=some-value)
user = request.args.get('user')
সম্পূর্ণ ইউআরএল হিসাবে উপলব্ধ request.url
, এবং ক্যোয়ারী স্ট্রিং হিসাবে উপলব্ধ request.query_string
।
এখানে একটি উদাহরণ:
from flask import request
@app.route('/adhoc_test/')
def adhoc_test():
return request.query_string
ক্যোয়ারী স্ট্রিংয়ে পাস করা আলাদা আলাদা পরিচিত প্যারাম অ্যাক্সেস করতে আপনি ব্যবহার করতে পারেন request.args.get('param')
। আমি এটি যতদূর জানি এটি এটি করার "সঠিক" উপায়।
ইটিএ: আপনি আরও যাওয়ার আগে আপনার নিজের জিজ্ঞাসা করা উচিত কেন আপনি কোয়েরি স্ট্রিং চান want আমাকে কখনই কাঁচা স্ট্রিংটি টানতে হয়নি - ফ্লাস্কের এটি বিমূর্তভাবে অ্যাক্সেস করার জন্য ব্যবস্থা রয়েছে। আপনার যদি না করার বাধ্যতামূলক কারণ না থাকে তবে আপনার সেগুলি ব্যবহার করা উচিত।
ওয়ার্কজেগ / ফ্লাস্ক ইতিমধ্যে আপনার জন্য সমস্ত কিছু পার্স করা হয়েছে। Urlparse দিয়ে আবার একই কাজ করার দরকার নেই:
from flask import request
@app.route('/')
@app.route('/data')
def data():
query_string = request.query_string ## There is it
return render_template("data.html")
অনুরোধ এবং প্রতিক্রিয়াযুক্ত সামগ্রীর সম্পূর্ণ ডকুমেন্টেশন হ'ল ওয়ার্কজেগ: http://werkzeug.pocoo.org/docs/wrappers/
আমরা অনুরোধ.কোয়ারি_ স্ট্রিং ব্যবহার করে এটি করতে পারি।
উদাহরণ:
View.py বিবেচনা করা যাক
from my_script import get_url_params
@app.route('/web_url/', methods=('get', 'post'))
def get_url_params_index():
return Response(get_url_params())
আপনি ফ্লাস্ক ব্লুপ্রিন্টগুলি ব্যবহার করে এটিকে আরও মডুলার করে তোলেন - http://flask.pocoo.org/docs/0.10/blueprints/
প্রথম নামটি ক্যোয়ারী স্ট্রিং / ওয়েব_উরাল /? প্রথম_নাম = জন এর অংশ হিসাবে পাস হচ্ছে তা বিবেচনা করা যাক
## here is my_script.py
## import required flask packages
from flask import request
def get_url_params():
## you might further need to format the URL params through escape.
firstName = request.args.get('first_name')
return firstName
আপনি যেমন দেখেন এটি কেবল একটি ছোট উদাহরণ - আপনি একাধিক মান আনতে পারেন + সেগুলি বিন্যাস করতে এবং এটি ব্যবহার করতে বা টেমপ্লেট ফাইলে পাস করতে পারেন।
আমি কোয়েরি স্ট্রিংয়ের সন্ধান করতে এসেছি, কীভাবে ক্যোরি স্ট্রিং থেকে মান পাবেন না।
request.query_string
ইউআরএল প্যারামিটারগুলি কাঁচা বাইট স্ট্রিং হিসাবে প্রদান করে (রেফ 1)।
ব্যবহারের উদাহরণ request.query_string
:
from flask import Flask, request
app = Flask(__name__)
@app.route('/data', methods=['GET'])
def get_query_string():
return request.query_string
if __name__ == '__main__':
app.run(debug=True)
আউটপুট:
তথ্যসূত্র:
ক্যোয়ারী স্ট্রিংয়ের জন্য এটির মতো চেষ্টা করুন:
from flask import Flask, request
app = Flask(__name__)
@app.route('/parameters', methods=['GET'])
def query_strings():
args1 = request.args['args1']
args2 = request.args['args2']
args3 = request.args['args3']
return '''<h1>The Query String are...{}:{}:{}</h1>''' .format(args1,args2,args3)
if __name__ == '__main__':
app.run(debug=True)
ও'রিলি ফ্লাস্ক ওয়েব ডিভিলোপমেন্টে বর্ণিত ফ্লেস্ক অনুরোধ অবজেক্ট থেকে ক্যোয়ারী স্ট্রিংয়ের প্রতিটি ফর্ম পুনরুদ্ধারযোগ্য :
ও'রিলি ফ্লাস্ক ওয়েব ডেভলপমেন্ট থেকে এবং মনন গৌহারি আগে যেমন বলেছিলেন, প্রথমে আপনাকে অনুরোধ আমদানি করতে হবে:
from flask import request
request
ফ্ল্যাস্ক নামের একটি প্রসঙ্গ ভেরিয়েবল হিসাবে প্রকাশিত একটি বস্তু (আপনি এটি অনুমান করেছিলেন) request
। এর নাম অনুসারে, এতে ক্লায়েন্টটি এইচটিটিপি অনুরোধে অন্তর্ভুক্ত থাকা সমস্ত তথ্য রয়েছে । এই অবজেক্টে অনেকগুলি বৈশিষ্ট্য এবং পদ্ধতি রয়েছে যা আপনি যথাক্রমে পুনরুদ্ধার করতে এবং কল করতে পারেন।
আপনার কাছে বেশ কয়েকটি request
বৈশিষ্ট্য রয়েছে যার মধ্যে কোয়েরি স্ট্রিং রয়েছে যা থেকে চয়ন করতে হবে। এখানে আমি যে কোনও উপায়ে কোয়েরি স্ট্রিং রয়েছে এমন প্রতিটি বৈশিষ্ট্য, সেইসাথে সেই বৈশিষ্ট্যের ও'রিলি বইয়ের একটি বিবরণ উল্লেখ করব।
প্রথমে রয়েছে args
যা "ইউআরএল এর ক্যোরি স্ট্রিংয়ে সমস্ত আর্গুমেন্টের সাথে পাস করা একটি অভিধান"। সুতরাং আপনি যদি কোয়েরি স্ট্রিংটিকে একটি অভিধানে বিভক্ত করতে চান তবে আপনি এরকম কিছু করতে চান:
from flask import request
@app.route('/'):
queryStringDict = request.args
(অন্যরা যেমন নির্দেশ করেছে, আপনি .get('<arg_name>')
অভিধান থেকে একটি নির্দিষ্ট মান পেতেও ব্যবহার করতে পারেন)
তারপর, নেই form
অ্যাট্রিবিউট, যা নেই না কোয়েরি স্ট্রিং রয়েছে, কিন্তু যা অন্য গুণ যা অংশ মধ্যে অন্তর্ভুক্ত করা হয় না কোয়েরি স্ট্রিং যা আমি প্রতিমুহূর্তে তালিকা প্রস্তুত করা যাবে অন্তর্ভুক্ত। প্রথমত, যদিও form
"অনুরোধের সাথে জমা দেওয়া সমস্ত ফর্ম ক্ষেত্রের সাথে একটি অভিধান"। আমি এটি বলার জন্য বলছি: ফ্লাস্ক রিকোয়েস্ট অনুরোধ অবজেক্টটিতে আরও একটি অভিধানের অ্যাট্রিবিউট পাওয়া যায় values
। values
হয় "একটি অভিধান থাকে যার সম্মিলন মানের মধ্যে form
এবং args
।" এটি পুনরুদ্ধার করা এরকম কিছু দেখায়:
from flask import request
@app.route('/'):
formFieldsAndQueryStringDict = request.values
(আবারও .get('<arg_name>')
অভিধান থেকে নির্দিষ্ট আইটেমটি পেতে ব্যবহার করুন)
অন্য বিকল্পটি হ'ল query_string
"কাঁচা বাইনারি মান হিসাবে URL এর ক্যোয়ারী স্ট্রিং অংশ"। এর উদাহরণ:
from flask import request
@app.route('/'):
queryStringRaw = request.query_string
তারপরে একটি যুক্ত বোনাস হিসাবে full_path
যা রয়েছে "URL এর পথ এবং ক্যোয়ারী স্ট্রিং অংশ"। পোর ইজেমপ্লো:
from flask import request
@app.route('/'):
pathWithQueryString = request.full_path
এবং অবশেষে, url
"ক্লায়েন্ট দ্বারা অনুরোধ করা সম্পূর্ণ URL টি" (যার মধ্যে ক্যোয়ারী স্ট্রিং রয়েছে):
from flask import request
@app.route('/'):
pathWithQueryString = request.url
শুভ হ্যাকিং :)
এটি ব্যবহার করে করা যেতে পারে request.args.get()
। উদাহরণস্বরূপ, যদি আপনার ক্যোয়ারী স্ট্রিংয়ের কোনও ক্ষেত্র থাকে তবে date
এটি ব্যবহার করে অ্যাক্সেস করা যায়
date = request.args.get('date')
request
ফ্লাস্ক থেকে আমদানির তালিকায় " " যুক্ত করতে ভুলবেন না
from flask import request
request.args.get()
; পুরানো প্রশ্নের নতুন উত্তরে এমন কিছু থাকা উচিত যা আগে উল্লেখ করা হয়নি।
যদি অনুরোধটি জিইটি এবং আমরা যদি কিছু ক্যোয়ারী প্যারামিটারগুলি পাশ করে তবে,
fro`enter code here`m flask import request
@app.route('/')
@app.route('/data')
def data():
if request.method == 'GET':
# Get the parameters by key
arg1 = request.args.get('arg1')
arg2 = request.args.get('arg2')
# Generate the query string
query_string="?arg1={0}&arg2={1}".format(arg1, arg2)
return render_template("data.html", query_string=query_string)