django广播按钮值中的视图中的值
我正在使用django表单中的无线电按钮记录对象人的性别领域,如下所示。
人模型
class Person(models.Model):
GENDER = [
('MALE','Male'),
('FEMALE','Female')
]
first_name = models.CharField(max_length=200, null=True)
last_name = models.CharField(max_length=200, null=True)
email = models.CharField(max_length=200, null=True)
gender = models.CharField(choices=GENDER, null=True, blank=True, max_length=30)
我的人员形象
class PersonForm(forms.ModelForm):
GENDER = [
('MALE','Male'),
('FEMALE','Female')
]
first_name = forms.CharField(label="First Name")
last_name = forms.CharField(label="Last Name")
email= forms.CharField(label="Email")
gender = forms.ChoiceField(
label='Gender',
choices=GENDER,
widget=forms.RadioSelect(),)
class Meta:
model = Client
fields = ['first_name', 'last_name','email','gender']
def __init__(self, *args, **kwargs):
super().__init__(*args, **kwargs)
def clean(self, *args, **kwargs):
cleaned_data = super(PersonForm, self).clean()
return cleaned_data
,然后我的create_person_view(()
def create_person_view(request):
if request.method == 'POST':
form = PersonForm(request.POST)
if form.is_valid():
form.save():
return render(request, 'person/view_persons.html')
else:
form = PersonForm()
return render(request, "person/create_person.html", {"person_form": form})
现在,我保存表单并保存良好。问题出现在从数据库中获取保存的数据并传递到模板时出现。
特别是当我
Gender: {{person.gender}}
这样做时,我想显示:
Gender: <django.forms.fields.ChoiceField object at 0x7fd82ae866a0>
我想显示的真实值性别。
I'm using Radio buttons in django forms to record gender fields of object Person, as below.
Person Model
class Person(models.Model):
GENDER = [
('MALE','Male'),
('FEMALE','Female')
]
first_name = models.CharField(max_length=200, null=True)
last_name = models.CharField(max_length=200, null=True)
email = models.CharField(max_length=200, null=True)
gender = models.CharField(choices=GENDER, null=True, blank=True, max_length=30)
My PersonForm
class PersonForm(forms.ModelForm):
GENDER = [
('MALE','Male'),
('FEMALE','Female')
]
first_name = forms.CharField(label="First Name")
last_name = forms.CharField(label="Last Name")
email= forms.CharField(label="Email")
gender = forms.ChoiceField(
label='Gender',
choices=GENDER,
widget=forms.RadioSelect(),)
class Meta:
model = Client
fields = ['first_name', 'last_name','email','gender']
def __init__(self, *args, **kwargs):
super().__init__(*args, **kwargs)
def clean(self, *args, **kwargs):
cleaned_data = super(PersonForm, self).clean()
return cleaned_data
Then my create_person_view(()
def create_person_view(request):
if request.method == 'POST':
form = PersonForm(request.POST)
if form.is_valid():
form.save():
return render(request, 'person/view_persons.html')
else:
form = PersonForm()
return render(request, "person/create_person.html", {"person_form": form})
Now, I save the form and saves fine. The problem comes in when getting the saved data from database and passing to templates.
Specifically when I do
Gender: {{person.gender}}
It gives:
Gender: <django.forms.fields.ChoiceField object at 0x7fd82ae866a0>
I wanna display the real value of gender. Any help? Will be really appreciated.
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论