چگونه در جنگو منوی بازشونده یا dropdown بسازیم؟ (فرم و مدل)

سلام

هدف این است که می خواهیم یک لیست بازشونده با تعداد محدودی اختیار را در فرم به کاربر نمایش دهیم. شاید این راه به ذهن برسد که فیلد را از نوع متنی در نظر می گیریم و در قسمت فرانت اند صرفاً گزینه های خود را به کاربر نمایش می دهیم که البته مسلماً این نمی تواند راه درستی باشد چون کاربر با اندکی تغییر می تواند هر داده ای را به سمت سرور ارسال کند. (کافی است فرم را tamper کند یا به صورت آنلاین html را تغییر دهد.)

راه حل بعدی این است که بعد از رسیدن داده به سرور نیز چک کنیم که دادۀ ارسالی صرفاً شامل موارد مجاز باشد و در غیر اینصورت درخواست را رد کنیم.

این راه صحیح است اما نیازی به این کار نیست؛ چون جنگو با استفاده از امکان choices باعث شده به راحتی این کار انجام شود.

urls.py

models.py

forms.py

views.py

template.html

برای نمایش صرفاً این فیلد هم از کد زیر استفاده می کنیم

 

نویسنده:تمدن

 

بدون دیدگاه

پاسخی بگذارید

نشانی ایمیل شما منتشر نخواهد شد. بخش‌های موردنیاز علامت‌گذاری شده‌اند *

هرگونه استفادۀ از این آموزش به صورت رایگان و با ارجاع به تمدن جایز است.