আপনার ফর্ম বা ডাটাবেসে একটি অবস্থান ক্ষেত্র যোগ করার প্রয়োজন হলে, আপনি charfield ব্যবহার করে তা করতে পারেন কিন্তু এটা এখনও যে ভাল ধারণা না. জ্যাঙ্গোতে, আমাদের একটি তৃতীয় পক্ষের প্যাকেজ আছে যাকে বলা হয় 'django-countries' যে দেশ ক্ষেত্র প্রদান করে. এই নিবন্ধে, আসুন দেখি কিভাবে django-countries ব্যবহার করবেন জ্যাঙ্গোতে একটি দেশের ক্ষেত্র যোগ করতে।
প্রথমে, একটি জ্যাঙ্গো প্রকল্প এবং একটি অ্যাপ তৈরি করুন৷
৷INSTALLED_APPS-এ অ্যাপটি যোগ করুন এবং urls সেট আপ করুন .
জ্যাঙ্গো-দেশগুলি ইনস্টল করুন৷ মডিউল −
pip install django-countries
settings.py-এ , এটি যোগ করুন -
INSTALLED_APPS += [ 'django_countries']
উদাহরণ
অ্যাপের urls.py-এ −
from django.urls import path from . import views urlpatterns = [ path('', views.home, name="home"), ]
প্রথমে আপনার ইউআরএল সেটআপ করুন।
views.py-এ −
from django.shortcuts import render from django import forms from .models import Data class SalaryForm(forms.ModelForm): class Meta: model=Data fields="__all__" def home(request): if request.method=='POST': form=SalaryForm(request.POST) if form.is_valid(): form.save() else: form=SalaryForm() return render(request,'home.html',{'form':form})
এখানে আমরা সহজভাবে একটি ফর্ম তৈরি করেছি এবং এটিকে GET অনুরোধ হ্যান্ডলারে রেন্ডার করেছি আমাদের দৃষ্টিভঙ্গির। POST হ্যান্ডলারে, আমরা ফর্ম ডেটা সংরক্ষণ করি।
অ্যাপ ডিরেক্টরিতে একটি টেমপ্লেট ফোল্ডার এবং একটি home.html তৈরি করুন৷ এটা. home.html-এ −
<!DOCTYPE html> <html> <head> <title> TUT </title> <style> </style> </head> <body> <h2>FORM</h2> <form action="/" method="post"> {% csrf_token %} {{ form }} <input type="submit" value="Submit"> </form> </body> </html>
এটি আমাদের ফর্মের ফ্রন্ট-এন্ড html৷
৷models.py-এ −
from django.db import models from django_countries.fields import CountryField # Create your models here. class Data(models.Model): Name=models.CharField(max_length=100) salary = models.CharField(max_length=20) country_of_work = CountryField(blank=True)
এখানে আমরা একটি মডেল তৈরি করেছি যেখানে আমরা কেবল একটি দেশের ক্ষেত্র যুক্ত করেছি যা দেশের ডেটা সংরক্ষণ করবে৷
এখন, মাইগ্রেশন করুন এবং মাইগ্রেট করুন। আপনি সব শেষ. এখন, আপনি আউটপুট চেক করতে এগিয়ে যেতে পারেন।
আউটপুট