متدهای HTTP در فلسک
http پروتکلی است که به طور روزمره از آن در حال استفاده هستیم و مبنای برقراری ارتباط در شبکه جهانی وب است. این پروتکل دارای متدهایی است که از آن میتواند در فایل های html خود برای فرستادن مقادیر به سمت سرور و ذخیره در پایگاه داده استفاده کنیم. این داده ها میتوان نام , شماره , Email و یا حتی عکس باشد. در ادامه با zerotohero.ir همراه باشید تا با نحوه ساخت یک فرم ساده و ارسال داده های آن به سرور آشنا شوید!
دوتا از متدهای پر کاربرد پروتکل http به نام های زیر است:
- GET : ارسال داده در حالت رمزگذاری نشده به سرور ( داده ها در آدرس url نشان داده میشوند که ایمن نیست)
- POST : برای ارسال داده از فرم های HTML به سمت سرور ( چیزی در url نشان داده نمیشود و ایمن است)
البته متدهای دیگری نیز در این پروتکل وجود دارد که به طور کل شامل ۸ متد است. در اینجا صرفا متدهای پر کاربرد معرفی شدند. به طور پیش فرض route های فلسک به درخواست های GET واکنش میدهند. با این حال، میتوان این حالت پیش فرض را تغییر داد. برای نشان دادن نحوه استفاده از POST در فرم ها ، ابتدا یک فرم html ایجاد میکنیم و از این متد برای ارسال داده ها به یک آدرس خاص استفاده میکنیم.
یک فایل html در پروژه ایجاد کرده و نام آن را login.html بگزارید، سپس کد زیر را در آن قرار دهید:
<html> <body> <form action = "http://localhost:5000/login" method = "post"> <p>Enter Name:</p> <p><input type = "text" name = "nm" /></p> <p><input type = "submit" value = "submit" /></p> </form> </body> </html>
حال کد زیر را در فایل پایتون خود وارد کنید:
from flask import Flask, redirect, url_for, request app = Flask(__name__) @app.route('/success/<name>') def success(name): return 'welcome %s' % name @app.route('/login',methods = ['POST', 'GET']) def login(): if request.method == 'POST': user = request.form['nm'] return redirect(url_for('success',name = user)) else: user = request.args.get('nm') return redirect(url_for('success',name = user)) if __name__ == '__main__': app.run(debug = True)
حال برنامه را اجرا کرده و سپس فایل login.html را در مرورگر خود اجرا کرده و یک نام را در فیلد آن بنویسید و دکمه submit بزنید. همانطور که ملاحظه میکنید دیتا به URL که میخواستیم ارسال شد. آدرس http://localhost/login به متد login() متصل است. زمانی که سرور داده ها را با متد POST دریافت میکند مقدار پارامتر nm از فرم در این خط از فایل دریافت میشود :
user = request.form['nm']
مقدار آن به آدرس ‘/success’ به عنوان محدوده متغیر ارسال میشود (برای مرور مطالب قبلی اینجا را بخوانید). مرورگر یک پیام خوش آمد نمایش میدهد. در ادامه نمونه ای از خروجی برنامه قرار داده میشود :
برای یادگیری بیشتر میتوانید به مقالات قبلی در رابطه با فلسک مراجعه کنید. در ادامه سری آموزش های مربوط به این فریم ورک جذاب با zerotohero.ir همراه باشید…
دیدگاهتان را بنویسید
برای نوشتن دیدگاه باید وارد بشوید.