现在假如要写一个按照”标题”,“内容”,“作者”等等进行针对性的选择,这时需要涉及到使用选择下拉表单来进行选择.django是可以比较简单的解决这个问题的。
<强>下面是模型:强>
django。数据库导入模型 类TestModel (models.Model): SELVALUE=https://www.yisu.com/zixun/( (“标题”、“第一次”),#前面是展示在前端界面的内容,后面的“第一次”是真正存在数据库中的 (“内容”、“第二”), (“作者','第三'), ) select_value=https://www.yisu.com/zixun/models.CharField (max_length=10,选择=SELVALUE)
<强>接下来我们写形式:强>
从django导入形式 类SelectTestForm (forms.Form): SELVALUE=https://www.yisu.com/zixun/( (“标题”、“第一次”), (“内容”、“第二”), (“作者','第三'), ) sel_value=https://www.yisu.com/zixun/forms.CharField (max_length=10,部件=forms.widgets.Select(选择=SELVALUE)
<>强然后就可以写了:强>
django。快捷方式进口呈现 从django.views。一般进口视图 从养成进口SelectTestForm 类TestView(观点): def(自我,请求): select_form=SelectTestForm () 返回渲染(请求,“sel_test。html的,{#这里“sel_test.html”使我们的前端页面 “select_form”: select_form #这里需要把形式传到前端,前端就可以借助这个形式填充界面 }) def post(自我,请求): select_form=SelectTestForm (request.POST) 如果select_form.is_valid (): get_value=https://www.yisu.com/zixun/request.POST.get (sel_value, " ") #这里可以取到下拉表单中的值 #接下来就是保存数值与其他逻辑了 其他: #表单验证未通过的逻辑,多半要重新填写或直接给个404 通过
<强>这是前端界面“sel_test.html”: 强>
& lt; !DOCTYPE html> & lt; html lang=癳n”比; & lt; head> & lt;元charset=皍tf - 8”比; & lt; title> Title & lt;/head> & lt; body> & lt;形式方法=皃ost”行动=薄氨? & lt;选择name=" sel_value比; {#这里我们遍历表形式单中的SELVALUE这个字典,然后把钥匙,价值成对取出#} {%为关键,select_form价值。SELVALUE %} & lt;选项值=" https://www.yisu.com/zixun/{{value}}”在{{关键}}& lt;/option> {% endfor %} & lt;/select> & lt;输入类型="提交" value=" https://www.yisu.com/zixun/测试”/比; {% csrf_token %} & lt;/form> & lt;/body> & lt;/html>
ModelChoiceField使用方法
使用ModelChoiceField方法向前端提供模型
后端forms.py
default_tester=forms.ModelChoiceField ( 标签='测试人员”,queryset=User.objects.all(),要求=True )
前端代码
{%用户在form.default_tester.field.queryset %} & lt;选项值=" https://www.yisu.com/zixun/{{用户。pk}}”在 {{user}} & lt;/option> {% endfor %} >之前以上这篇django处理选择下拉表单实例(从模型到前端到后到形式)就是小编分享给大家的全部内容了,希望能给大家一个参考,也希望大家多多支持。
django处理选择下拉表单实例(从模型到前端到后到形式)