django模板和request.GET参数处理问题(求助)
各位,新学习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就能得出想要的数据。
不知道哪里出了问题,请高手指教。谢谢
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请求方式的所
django框架实现模板中获取request 的各种信息示例
主要介绍了django框架实现模板中获取request 的各种信息,结合实例形式分析了Django框架模板直接获取request信息的相关配置与操作技巧,需要的朋友可以参考下
Django 解决上传文件时,request.FILES为空的问题
主要介绍了Django 解决上传文件时,request.FILES为空的问题,具有很好的参考价值,希望对大家有所帮助。一起跟随小编过来看看吧
django 使用 request 获取浏览器发送的参数示例代码
主要介绍了django 使用 request 获取浏览器发送的参数示例代码,获取数据有四种方式,具体内容详情大家跟随脚本之家小编一起看看吧
Django URL传递参数的方法总结
主要介绍了Django URL传递参数的方法总结,需要的朋友可以参考下


