اذهب إلى المحتوى

السؤال

نشر

كنت أتساءل عما إذا كانت هناك طريقة لأخذ شيء من عنصر input في HTML، وتمريره إلى فلاسك Flask، ثم تحليل تلك البيانات باستخدام Python. أعتقد أن هذا الأمر يحتاج إلى إستخدام JavaScript ولكن لست متأكد من هذا الأمر ولا أعلم كيف يمكنني القيام بهذا الأمر.

هل يمكن القيام بهذا الأمر بدون إستخدام JavaScript؟

Recommended Posts

  • 1
نشر (معدل)

بامكانك القيام بذلك من دون جافاسكربت بالطريقة التالية من ملف ال HTML عبر ال form

<form action="{{ url_for('handle_data') }}" method="post"> <-handle_data هو الرابط الذي تريد ان ترسل اليه بيانات الحقل->
    <input type="text" name="projectFilepath">
    <input type="submit">
</form>

ثم داخل تطبيق الفلاسك 

@app.route('/handle_data', methods=['POST'])#handle_data هو رابط الذي تريد ان تستقبل منه البيانات
def handle_data():
    projectpath = request.form['projectFilepath'] #name attribute from the input
    # الكود الخاص بك
    #return ارجاع قيمة 

 

تم التعديل في بواسطة Mohammad Al Eik
  • 1
نشر

يمكنك القيام بهذا الأمر بطريقتين، الأولى عبر إستعمال JavaScript للحصول على البيانات من عنصر input وإرسالها في طلب إلى فلاسك Flask ليتم إستخدام هذه البيانات في عمل أي مهمة ثم إرجاع نتيحة معينة إلى صفحة الويب، أما الطريقة الثانية وهي الأسهل، حيث يتم إستخدام نموذج form لإرسال البيانات بطريقة POST إلى فلاسك Flask ثم يقوم بتنفيذ بعض المهام بإستخدام هذا النص ويرجع البيانات، كالتالي:

في البداية تحتاج إلى تجهيز مسار route في فلاسك يستقبل هذه البيانات ويرجع قيمة معينة:

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

ومسار route آخر لعرض النموذج form:

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

وسيحتوي الملف templates/form.html على نموذج واحد كالتالي:

<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <title>Upper Text</title>
</head>
<body>
    <form method="POST" action="/process">
        <input name="text">
        <input type="submit">
    </form>
</body>
</html>

بهذا الشكل سوف يتم الحصول على البيانات من النموذج form ثم سيتم تحويلها إلى أحرف كبيرة (يمكنك القيام بأي شيء في الدالة upper_text) ثم يتم إرجاع البيانات إلى المتصفح مرة أخرى.

يمكنك أيضًا أن تستعمل قالب ليعرض البيانات المرجعة بدلًا من عرضها في شكل نصي فقط.

انضم إلى النقاش

يمكنك أن تنشر الآن وتسجل لاحقًا. إذا كان لديك حساب، فسجل الدخول الآن لتنشر باسم حسابك.

زائر
أجب على هذا السؤال...

×   لقد أضفت محتوى بخط أو تنسيق مختلف.   Restore formatting

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   جرى استعادة المحتوى السابق..   امسح المحرر

×   You cannot paste images directly. Upload or insert images from URL.

  • إعلانات

  • تابعنا على



×
×
  • أضف...