Django下拉选择
我想在Django下拉选择,django,selection,dropdown,choice,Django,Selection,Dropdown,Choice,我想在template1中创建带有选项的“下拉”菜单。下拉列表应列出房间实例“创建日期”属性范围内的唯一日期 选择并提交选项后,应将其传递到模板2。需要将其传递给template2,以便呈现template2的视图可以按所选选项过滤房间实例,并在template2中显示过滤后的实例 有人能帮我列出完成上面写的工作所需的步骤吗?我会阅读这些必要的步骤,以便完成这项任务 下面是我的班级 class Room(models.Model): flat = models.ForeignKey(Fl
template1
中创建带有选项的“下拉”菜单。下拉列表应列出房间
实例“创建日期”属性范围内的唯一日期
选择并提交选项后,应将其传递到模板2
。需要将其传递给template2,以便呈现template2的视图可以按所选选项过滤房间实例,并在template2中显示过滤后的实例
有人能帮我列出完成上面写的工作所需的步骤吗?我会阅读这些必要的步骤,以便完成这项任务
下面是我的班级
class Room(models.Model):
flat = models.ForeignKey(Flat)
room_name = models.CharField(max_length= 10)
room_value = models.PositiveSmallIntegerField(default=0)
created_date = models.DateField(auto_now_add= True)
到目前为止,我已经尝试创建这样的下拉菜单,并且可以做到这一点,但我不知道如何将所选选项传递给template2,以便所选选项可以用作呈现template2的视图,以过滤Room类的实例
编辑
我已经创建了视图、表单和模板,但还没有传递更新日期
视图.py
def room_choice(request):
form = RoomChoiceForm()
if request.method == 'POST':
form = RoomChoiceForm(request.POST)
if form.is_valid():
room_choice = form.save(commit=False)
print room_choice
return redirect('/blocks/all_rooms',request)
return render(request, 'prostats/choicesform.html',{'form':form})
class RoomChoiceForm(forms.ModelForm):
class Meta:
model = RoomLog
fields = ('room',)
forms.py
def room_choice(request):
form = RoomChoiceForm()
if request.method == 'POST':
form = RoomChoiceForm(request.POST)
if form.is_valid():
room_choice = form.save(commit=False)
print room_choice
return redirect('/blocks/all_rooms',request)
return render(request, 'prostats/choicesform.html',{'form':form})
class RoomChoiceForm(forms.ModelForm):
class Meta:
model = RoomLog
fields = ('room',)
choicesforms.html
<form method="post" class="post-form">
{% csrf_token %}
{{ form.as_p }}
<button type="submit" class="save btn btn-default">Submit</button>
</form>
url(r'^choices/$', views.room_choice, name='choices'),
url(r'^all_rooms/$', views.AllRoomsView.as_view(), name='roomsdetails'),
如果我理解正确:
choices=A、B、C
<form method="GET" action="{% url 'name-of-url-of-step2' %}">
<select multiple>
<option name="choices" value="A"...>
<option name="choices" value="B"...>
<option name="choices" value="C"...>
<option name="choices" value="D"...>
</select>
</form>
提交此表单将调用表单操作中指定的url,并使用表单字段生成的查询字符串:http://...//?choices=A&choices=B
(取决于选择)
请注意,如果操作
url中存在查询字符串,则通常会丢弃查询字符串,并将其替换为表单数据
实现步骤2的Django视图现在可以读取查询参数:self.request.GET.getlist('choices')
将返回['A','B']
我能理解为什么我得到了一个没有任何评论的“-1”,这样我就可以从中学习并改进我的问题,以备将来使用吗?我不确定dv是否在编辑之前,但任何时候你要求一个步骤列表基本上都是免费劳动的要求,因为它没有显示你的任何努力。话虽如此,我仍然觉得你的问题不清楚,你到底在努力解决哪一部分,你可以使用外键
。。。。。输出是一个列表,在HTML
中,您可以使用引导元素创建一个我不理解的下拉部分。我知道我可以用bootstrap创建下拉列表,但如果不选择数据,它不会给我太多。我应该使用fk做什么?