عضو کانال تلگرام ما شوید.

ساخت لیست کشورها در جنگو با select

ساخت لیست کشورها در جنگو با select
ساخت لیست کشورها در جنگو با select

ساخت لیست کشورها در جنگو با select

در این نوشته به شما روش ساخت یک فیلد انتخاب کشور با تگ select و option را در فریم ورک جنگو آموزش خواهیم داد. بعد از این آموزش شما در فریم ورک Django می توانید برای کاربران خود فیلد انتخاب کشور را اضافه کنید.

همراه ما باشید.

 

ساخت لیست کشورها در جنگو با select

برای اینکار ابتدا یک فایل با نام country.json نیاز دارید که محتوای آن مانند زیر می باشد:

{
    "country": [
        { "name": "Iran", "code": "IR", "name_fa": "ایران" },
        { "name": "Afghanistan", "code": "AF", "name_fa": "افغانستان" },
        { "name": "Tajikistan", "code": "TJ", "name_fa": "تاجیکستان" },
        { "name": "Uzbekistan", "code": "UZ", "name_fa": "ازبسکتان" },
        { "name": "Turkey", "code": "TR", "name_fa": "ترکیه" },
        { "name": "Iraq", "code": "IQ", "name_fa": "عراق" },
        { "name": "Pakistan", "code": "PK", "name_fa": "پاکستان" },
        { "name": "Turkmenistan", "code": "TM", "name_fa": "ترکمنستان" },
        { "name": "Azerbaijan", "code": "AZ", "name_fa": "آذربایجان" }
    ]
}

در کد بالا خلاصه ای از کشورها آورده شده است اگر نیاز به دریافت یک فایل از تمامی کشورها را دارید روی این لینک کلیک کنید.

این فایل را در مسیر اصلی برنامه ی django ایجاد کنید.

سپس وارد فایل views.py شوید و تابع زیر را به این فایل اضافه کنید:

def read_country(base_dir):
    country_file = str(base_dir) + '/country.json'
    if(os.path.isfile(country_file)):
        file = open(country_file)
        data = json.load(file)
        file.close()
        return data
    return {}

تابع بالا می تواند فایل country.json را بخواند حالا نیاز است که در view مورد نظر خود کد زیر را اضافه کنید:

country_list = read_country(settings.BASE_DIR)

حالا متغیر country_list را به context تابع view فعلی اضافه کنید و به سراغ فایل html مورد نظر خودتان بروید.

در فایل html شما که در template ها قرار دارد کد زیر را اضافه کنید:

<select name="country" class="form-select" id="country">
   <option value="" selected="selected">یکی را انتخاب کنید</option>

   {% for country_items in country_list %}
      <option value="{{ country_items.code }}">{{ country_items.name_fa }}</option>
   {% endfor %}
</select>

اگر مراحل را به درستی انجام داده باشید در حال حاضر باید یک select داشته باشید که بتوانید از لیست کشورها یک کشور را انتخاب کنید.

پایان.!

 

اگر با آموزش بالا مشکلی داشتید در بخش نظرات همین نوشته برای ما بنویسید.

موفق باشید.

برای امتیاز به این نوشته کلیک کنید!
[کل: 1 میانگین: 5]