Computer >> Máy Tính >  >> Lập trình >> Python

Làm thế nào để tạo trường Quốc gia trong Django?

Nếu bạn cần thêm trường vị trí trong biểu mẫu hoặc cơ sở dữ liệu của mình, bạn có thể thực hiện việc đó bằng cách sử dụng charfield nhưng nó vẫn không phải là ý tưởng tốt. Ở Django, chúng tôi có gói của bên thứ ba có tên là 'django-country' cung cấp trường quốc gia. Trong bài viết này, hãy xem cách sử dụng django-country để thêm trường Quốc gia trong Django.

Đầu tiên, tạo một dự án Django và một ứng dụng.

Thêm ứng dụng trong INSTALLED_APPS và thiết lập url .

Cài đặt django-country mô-đun -

pip install django-countries

Trong settings.py , thêm cái này -

INSTALLED_APPS += [ 'django_countries']

Ví dụ

Trong urls.py của ứng dụng -

from django.urls import path
from . import views

urlpatterns = [
   path('', views.home, name="home"),
]

Đầu tiên hãy thiết lập các url của bạn.

Trong 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})

Ở đây, chúng tôi chỉ cần tạo một biểu mẫu và hiển thị biểu mẫu đó trong Trình xử lý yêu cầu GET quan điểm của chúng tôi. Trong trình xử lý POST, chúng tôi lưu dữ liệu biểu mẫu.

Tạo thư mục mẫu trong thư mục ứng dụng và home.html trong đó. Trong 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>

Đây là html giao diện người dùng của biểu mẫu của chúng tôi.

Trong 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)

Ở đây, chúng tôi đã tạo một mô hình trong đó chúng tôi chỉ cần thêm một trường quốc gia sẽ lưu trữ dữ liệu quốc gia.

Bây giờ, hãy di chuyển và di chuyển. Bạn đã làm xong. Bây giờ, bạn có thể tiến hành kiểm tra đầu ra.

Đầu ra


Làm thế nào để tạo trường Quốc gia trong Django?