如何在Django中创建一个国家字段?
如果您需要在表单或数据库中添加位置字段,则可以使用 charfield ,但这仍然不是一个很好的选择。在Django中,我们有一个名为 ‘django-countries’ 的第三方包,它提供了国家字段。在本文中,让我们看看如何使用 django-countries 在Django中添加一个国家字段。
首先,创建一个Django项目和一个应用程序。
将应用程序添加到 INSTALLED_APPS 中并设置 urls 。
安装 django-countries 模块 –
pip install django-countries
在 settings.py 中,添加以下内容 –
INSTALLED_APPS += [ 'django_countries']
阅读更多:Python 教程
示例
在应用程序的 urls.py 文件中 –
from django.urls import path
from . import views
urlpatterns = [
path('', views.home, name="home"),
]
首先设置您的urls。
在 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 处理程序中,我们保存表单数据。
在应用程序目录中创建一个 templates 文件夹和一个 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)
在这里,我们创建了一个模型,仅添加了一个国家字段,将存储国家数据。
现在,进行迁移和迁移。您已经做完了。现在,您可以继续检查输出。
输出

极客教程