gpt4 book ai didi

python - Django 。如何连接下拉列表(来自 html)和表单?

转载 作者:太空宇宙 更新时间:2023-11-04 06:03:03 25 4
gpt4 key购买 nike

A 在模型中有一个字段(名称模型是 Users_data):

bir_date = models.DateField(verbose_name="")

以及代表模型的形式:

class Form_registration (ModelForm):
class Meta:
model = Users_data

在 html 中:

<form name="registration" method="post" action="save_data_user/">
{% csrf_token %}
{{ form_registration.as_p }}
<input type="submit" value="SignUp">
</form>

保存表单的 View :

def saves_data_user_on_registration (request):
if request.method == 'POST':
c = {}
c.update(csrf(request))
form_user_data = Form_registration(request.POST, request.FILES)
if form_user_data.is_valid():
print form_user_data.errors
form_user_data.save()
return render_to_response('see_you_later.html', c, context_instance=RequestContext(request))
else:
print form_user_data.errors
return render_to_response('error.html', c, context_instance=RequestContext(request))

我可以在表单中保存简单的数据。

但我需要在我的模型 Users_data 字段中的 html 下拉列表中保存数据。

<select name="DateOfBirth_Month">
<option>Month</option>
<option value="1">January</option>
<option value="2">February</option>
...



<select id="cd-dropdown" class="cd-select">
<option value="-1" selected>Day</option>
<option value="1">01</option>
<option value="2">02</option>
...

<select name="DateOfBirth_Year">
<option>Year</option>
<option value="2011">2011</option>
<option value="2010">2010</option>
<option value="2009">2009</option>
...

而且我不明白如何将下拉列表与我的表单或模型连接起来。

感谢您的回答。

最佳答案

你需要定义一个widget并使用 widgets on the Meta classDateField 设置它.

可以在 Django documentation 中找到将年月日拆分为单独下拉列表的特定小部件的一个很好的示例。 ,参见 DateSelectorWidget:

class Form_registration (ModelForm):
class Meta:
model = Users_data
widgets = {'bir_date': widgets.DateSelectorWidget()}

此代码假定您已经创建了一个 widgets.py 模块,其中包含 DateSelectorWidget 类。

另一个适合该任务的小部件是 django.forms.extras.widgets.SelectDateWidget :

Wrapper around three Select widgets: one each for month, day, and year.

另见:

希望对您有所帮助。

关于python - Django 。如何连接下拉列表(来自 html)和表单?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/23711969/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com