ورود

View Full Version : ارسال داده به api جنگو



roya_django
سه شنبه 09 خرداد 1396, 18:18 عصر
سلام دوستان
من سوالی در مورد کار با django rest framework دارم

من میتونم بیام با django rest framework داده های موجود در پایگاه رو خوانده و به فرمت json در بیاورم. محتوای این داده ها به راحتی از طریقی url ای که خودم براش تعریف کردم قابل مشاهده است . میخواستم اگه کسی میتونه در مورد کاربرد و فایده ی این برام توضیح بده من میدونم که میتونم با متدهایی مثلا متد ajax از این صفحه اطلاعات بخونم فقط کافیه که url رو بدم و بگم که type برابر get هست و .
پس میتونیم ازشون اطلاعات بخونیم . حالا ایا میتونیم از این فایل های serialize شده برای ارسال داده به سمت سرور هم استفاده کنیم؟ یعنی ایا میتونیم همون url رو بدیم و بعد بگیم که متد هم بررابر post هست و یک متغیر هم تعریف کینم که در data قرار میدیم. ایا در این صورت داده ها به سمت سرور ارسال میشوند و در پایگاه داده ذخیره میشوند؟

ممنون

plague
چهارشنبه 10 خرداد 1396, 18:06 عصر
مزیت اصلی جیسون اینه که شما میتونی داده هایی با ساختار پیچیده رو بین زبون ها یا پلتفرم های متفاوت جابجا کنی
فرض کنید شما یه اپلیکیشن موبایل دارید که با java نوشته شده میخاید با یه api که با python نوشته شده ارتباط برقرار کنید و داده بفرستید
یا اینکه میخاید بین فریم ورک سمت کلاینت یمثل ریکت یا انگولار و بک اند مثل پایتون یا php داده رد وبدل کنید
ساختار کالکشن ها ( به طور خلاصه یعنی ساختمان های پیچیده که بیش از یک مقدار در خود دارن مثل آرایه , دیکشنری , آبجکت و .... ) توی زبان های مختلف با همدیگه متفاوته و مثلا شما اگه یه دیکشنری توی پایتون تعریف کنی برای جاوا کاملا ناشناخته و غیر قابل فهم هستش و برعکس و نمیتونی این ها رو از یک زبان/پلتفرم مثل جاوا/گگوشی موبایل اندروید به زبان/پلتفرم دیگه مثل پایتون/سرور لینوکس منتقل کنی به شکلی که قابل فهم باشه

ولی یه چیزه که همشون میفهمن اونم استرینگ یا رشته هستش و میتونن به هم پاس بدن
کاری که جیسون میکنه اینه که یه روش استاندارد پیدا میکنه برای تبدیل ساختمان های پیچیده به رشته
رشته قابل انتقال هستش بین همه زبان ها و پلتفرم ها
زبان های مختلف قابلیت درک رشته جیسون و برگردوندنش به کالکشن مناسب که خودشون متوجه میشن رو دارن

پس شما هروقت میخای یه دیتای پیچیده رو بین دو زبان که همدیگه رو نمیفهمن منتقل کنی اول تبدیل ش میکنی به رشته جیسون بعد انتقال میدی بعد اونور که دریافت کردی از جیسون برش میگردونی دوباره به دیتای پیچیده