यदि आपको अपने प्रपत्र या डेटाबेस में स्थान फ़ील्ड जोड़ने की आवश्यकता है, तो आप charfield . का उपयोग करके ऐसा कर सकते हैं लेकिन यह अभी भी उतना अच्छा विचार नहीं है। Django में, हमारे पास 'django-countries' . नामक एक तृतीय-पक्ष पैकेज है जो देश को क्षेत्र प्रदान करता है। इस लेख में, आइए देखें कि django-देशों . का उपयोग कैसे करें Django में एक देश फ़ील्ड जोड़ने के लिए।
सबसे पहले, एक Django प्रोजेक्ट और एक ऐप बनाएं।
एप्लिकेशन को INSTALLED_APPS में जोड़ें और urls . सेट करें ।
django-देशों को स्थापित करें मॉड्यूल -
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>
यह हमारे फॉर्म का फ्रंट-एंड एचटीएमएल है।
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)
यहां हमने एक मॉडल बनाया है जिसमें हमने केवल एक देश फ़ील्ड जोड़ा है जो देश के डेटा को संग्रहीत करेगा।
अब, माइग्रेशन करें और माइग्रेट करें। आप सब कर चुके हैं। अब, आप आउटपुट की जांच के लिए आगे बढ़ सकते हैं।
आउटपुट