หากคุณต้องการเพิ่มฟิลด์ตำแหน่งในแบบฟอร์มหรือฐานข้อมูล คุณสามารถทำได้โดยใช้ charfield แต่ก็ยังไม่ใช่ความคิดที่ดี ใน Django เรามีแพ็คเกจของบุคคลที่สามชื่อ 'django-countries' ที่ให้สนามประเทศ ในบทความนี้ เรามาดูวิธีใช้ django-countries . กัน เพื่อเพิ่มฟิลด์ Country ใน Django
ขั้นแรก สร้างโปรเจ็กต์ Django และแอป
เพิ่มแอปใน INSTALLED_APPS และตั้งค่า url .
ติดตั้ง django-countries โมดูล −
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"), ]
ขั้นแรกให้ตั้งค่า URL ของคุณ
ใน 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)
ที่นี่เราสร้างแบบจำลองที่เราเพียงแค่เพิ่มฟิลด์ประเทศซึ่งจะเก็บข้อมูลประเทศ
ตอนนี้ ทำการโยกย้ายและโยกย้าย คุณทำเสร็จแล้ว ตอนนี้คุณสามารถดำเนินการตรวจสอบผลลัพธ์ได้
ผลลัพธ์