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