मेरे फ्लास्क मार्गों में से आधे को एक चर कहने की आवश्यकता होती है, /<variable>/add
या /<variable>/remove
। मैं उन स्थानों के लिंक कैसे बनाऊँ?
url_for()
फ़ंक्शन के रूट के लिए एक तर्क लेता है, लेकिन मैं तर्क नहीं जोड़ सकता?
मेरे फ्लास्क मार्गों में से आधे को एक चर कहने की आवश्यकता होती है, /<variable>/add
या /<variable>/remove
। मैं उन स्थानों के लिंक कैसे बनाऊँ?
url_for()
फ़ंक्शन के रूट के लिए एक तर्क लेता है, लेकिन मैं तर्क नहीं जोड़ सकता?
जवाबों:
यह चर के लिए खोजशब्द तर्क लेता है:
url_for('add', variable=foo)
url_for
@app.route("/<a>/<b>")
और def function(a,b): ...
इसके कार्य के रूप में है, तो आपको url_for
इसके कीवर्ड तर्क का उपयोग करना और निर्दिष्ट करना चाहिए :url_for('function', a='somevalue', b='anothervalue')
url_for
फ्लास्क का उपयोग एक यूआरएल बनाने के लिए किया जाता है ताकि किसी एप्लिकेशन (टेम्प्लेट सहित) में URL को बदलने के ओवरहेड को रोका जा सके। इसके बिना url_for
, यदि आपके ऐप के रूट URL में कोई बदलाव है तो आपको इसे हर उस पेज में बदलना होगा जहाँ लिंक मौजूद है।
वाक्य - विन्यास: url_for('name of the function of the route','parameters (if required)')
इसका उपयोग इस प्रकार किया जा सकता है:
@app.route('/index')
@app.route('/')
def index():
return 'you are in the index page'
अब यदि आपके पास अनुक्रमणिका पृष्ठ लिंक है: तो आप इसका उपयोग कर सकते हैं:
<a href={{ url_for('index') }}>Index</a>
आप इसके साथ बहुत अधिक ओ सामान कर सकते हैं, उदाहरण के लिए:
@app.route('/questions/<int:question_id>'): #int has been used as a filter that only integer will be passed in the url otherwise it will give a 404 error
def find_question(question_id):
return ('you asked for question{0}'.format(question_id))
उपरोक्त के लिए हम उपयोग कर सकते हैं:
<a href = {{ url_for('find_question' ,question_id=1) }}>Question 1</a>
इस तरह आप बस मापदंडों को पारित कर सकते हैं!
{{ url_for('find_question' ,question_id=question.id) }}
और नहीं{{ url_for('find_question' ,question_id={{question.id}}) }}
के लिए फ्लास्क एपीआई दस्तावेज़ देखेंflask.url_for()
जेएस या सीएसएस को आपके टेम्पलेट से जोड़ने के लिए उपयोग के अन्य नमूना स्निपेट नीचे हैं।
<script src="{{ url_for('static', filename='jquery.min.js') }}"></script>
<link rel=stylesheet type=text/css href="{{ url_for('static', filename='style.css') }}">
टेम्पलेट:
फ़ंक्शन नाम और तर्क पास करें।
<a href="{{ url_for('get_blog_post',id = blog.id)}}">{{blog.title}}</a>
देखें, समारोह
@app.route('/blog/post/<string:id>',methods=['GET'])
def get_blog_post(id):
return id
def add(variable)
?