django模板和request.GET参数处理问题(求助)

shandyli shandyli 墨衍会员 · AI 创作全网分发 墨衍智能分发 通过墨衍一键同步至各平台 可同步平台 CSDN微信公众号微博知乎掘金百家号博客园抖音小红书 你的文章也可以这样分发 墨衍会员 ¥399起/年,写一次发全网 我也要 + 加入社区
各位,新学习python和django。遇到问题求助。
python:2.7.2
django:1.9.4
模板:
<form method="get" action=".">
<tr><td>
<select name="Aid" id="Aid">
<option value="">请选择</option>
{% for AA in Aname %}
<option value="{{ AA.Aid }}">{{ AA.aname }}</option>
{% endfor %}
</select>
</td>
<td>
<select name="Bid" id="Bid">
<option value="">请选择</option>
{% for BB in Bname %}
<option value="{{ BB.Bid }}">{{ BB.bname }}</option>
{% endfor %}
</select>
</td>
<td>
<select name="Cid" id="Cid">
<option value="">请选择</option>
{% for CC in Cname %}
<option value="{{ CC.Cid }}">{{ CC.cname }}</option>
{% endfor %}
</select>
</td>
<td> </td><td><input type="submit" value="Submit"></td>
</tr>
</form>


views.py:
def getKwargs(data={}):
kwargs = {}
for (k,v) in data.items():
if v is not None and v != u'':
kwargs[k] = v
return kwargs


def testlist(request):
kwargs = {}
if request.method == 'GET':
qy = getKwargs(request.GET)
qfilter = Test.object.all()
if kwargs is not None:
qfilter = qfilter.filter(**kwargs)

这样方式,在有GET参数传过来时,不能按需要过滤出想要的数据。
尝试打印request.GET参数,如QueryDict: {u'Aid': [u''], u'Bid': [u'59'], u'Cid': [u'']}
实际想要的效果是Bid=59时,传给filter。


但直
Aid = request.GET.get("Aid")
if Aid is not None and Aid != u'':
kwargs['Aid'] = Aid
if Bid is not None and Bid != u'':
kwargs['Bid'] = Bid
这样再把kwargs传给filter就能得出想要的数据。

不知道哪里出了问题,请高手指教。谢谢
...全文

相关推荐

对Django 中request.get和request.post的区别详解

Django 中request.get和request.post的区别 POST和GET差异: POST和GET是HTTP协议定义的与服务器交互的方法。GET一般用于获取/查询资源信息,而POST一般用于更新资源信息。另外,还有PUT和DELETE方法。 POST和GET都可以与服务器完成查,改,增,删操作。 GET提交,请求的数据会附在URL之后,以?分割URL和传输数据,多个参数用&连接; POST提交,把提交的数据放置在HTTP包的包体中;因此,GET提交的数据会在地址栏中显示出来,而POST提交,地址栏不会改变。 GET属性 1、QueryDict类型的对象 2、包含get请求方式的所

weixin_38718307

django框架实现模板中获取request 的各种信息示例

主要介绍了django框架实现模板中获取request 的各种信息,结合实例形式分析了Django框架模板直接获取request信息的相关配置与操作技巧,需要的朋友可以参考下

weixin_38688745

Django 解决上传文件时,request.FILES为空的问题

主要介绍了Django 解决上传文件时,request.FILES为空的问题,具有很好的参考价值,希望对大家有所帮助。一起跟随小编过来看看吧

weixin_38746387

django 使用 request 获取浏览器发送的参数示例代码

主要介绍了django 使用 request 获取浏览器发送的参数示例代码,获取数据有四种方式,具体内容详情大家跟随脚本之家小编一起看看吧

weixin_38723691

Django URL传递参数的方法总结

主要介绍了Django URL传递参数的方法总结,需要的朋友可以参考下

weixin_38617335
评论 6
收藏 已收藏
分享
返回顶部
shandyli
脚本语言 37,738 成员 34,208 内容