أحاول القيام بمربع للبحث في جوجل مع إمكانية عرض إقتراحات أثناء كتابة كلمة البحث، بطريقة مشابهة للتي يقوم بها جوجل كنوع من التدريب، وبدأت أستخدم Google Suggest Tool للقيام بهذه المهمة، لذلك قمت بكتابة كود JavaScript يقوم بإرسال طلب من نوع GET:
$("#search_input").keyup(function(){var some_var = $(this).val();// جلب النص الذي قام المستخدم بكتابته في مربع البحث
$.ajax({
url:"",
type:"get",
data:{jsdata: some_var},
success:function(response){
console.log(response);},
error:function(xhr){
alert('error');}});
بعد ذلك قمت بعمل مسار جديد في فلاسك Flask:
@app.route('/', methods=['GET','POST'])def suggest_data():
query = request.args.get('jsdata')if query ==None:
suggestions_list =['',]else:
suggestions_list =[]# إستخراج الإقتراحاات من صفحة جوجل
r = requests.get('http://suggestqueries.google.com/complete/search?output=toolbar&hl=ru&q={}&gl=in'.format(query),'lxml')
soup =BeautifulSoup(r.content)
suggestions = soup.find_all('suggestion')for suggestion in suggestions:
suggestions_list.append(suggestion.attrs['data'])return render_template('start_page.html', suggestions_list=suggestions_list)
ثم قمت بعرض الإقتراحات في قالب بالشكل التالي:
<labelid="suggestions">
{% for suggestion in suggestions_list %}
{{ suggestion }}
{% endfor %}
</label>
لكن المتغير في قالب Jinja لا يتم تحديثه تلقائيًا ويطبع قائمة فارغة.
كيف أقوم بطباعة الاقتراحات من القائمة ديناميكيًا بتنسيق HTML؟
السؤال
Mohssen A Mohssen
أحاول القيام بمربع للبحث في جوجل مع إمكانية عرض إقتراحات أثناء كتابة كلمة البحث، بطريقة مشابهة للتي يقوم بها جوجل كنوع من التدريب، وبدأت أستخدم Google Suggest Tool للقيام بهذه المهمة، لذلك قمت بكتابة كود JavaScript يقوم بإرسال طلب من نوع GET:
بعد ذلك قمت بعمل مسار جديد في فلاسك Flask:
ثم قمت بعرض الإقتراحات في قالب بالشكل التالي:
لكن المتغير في قالب Jinja لا يتم تحديثه تلقائيًا ويطبع قائمة فارغة.
كيف أقوم بطباعة الاقتراحات من القائمة ديناميكيًا بتنسيق HTML؟
1 جواب على هذا السؤال
Recommended Posts
انضم إلى النقاش
يمكنك أن تنشر الآن وتسجل لاحقًا. إذا كان لديك حساب، فسجل الدخول الآن لتنشر باسم حسابك.