Python中文
首页
教程
问答
标签
搜索
登录
注册
Django中具有任意数量url参数的视图
回答此问题可获得
20
贡献值,回答如果被采纳可获得
50
分。
<p>我想用Django编写universal View,在这个函数中,我想处理几种情况:首先,当我有像vkusers3/11122233/1/2/这样的url时,我还想让它在url中缺少2个或第三个参数时工作,比如:vkusers3/11122233/或vkusers3/11122233/1/</p> <p>我找不到它的教程如何做到这一点(<a href="https://docs.djangoproject.com/en/1.6/topics/http/urls/" rel="nofollow">https://docs.djangoproject.com/en/1.6/topics/http/urls/</a>等)。 当你有超过5个url参数组合时,这个问题就变成了一场噩梦,那么你应该写5个不同的url配置,5次用html模板硬编码这个模式。你知道吗</p> <p>但是等等,甚至更多!,那么组合数学呢:我想要/user/group/sex/smoking/但是我想要/user/group/smoking/也就是说,组中所有同时吸烟的男女用户。所以这个数字是巨大的。你知道吗</p> <pre><code>def list_groupmembers_sex(request, group_id, sex=None, smoking=None): success = False if group_id and sex and smoking==None: vkusers = Vkuser._get_collection().find({"member_of_group": int(group_id), 'sex': int(sex)})# 62740364 81099158 success = True elif group_id and sex and smoking!=None: vkusers = Vkuser._get_collection().find({"member_of_group": int(group_id), 'sex': int(sex), 'personal.smoking': int(smoking)}) success = True else: vkusers = Vkuser._get_collection().find({'personal.smoking': 1}) ctx = {'vkuser_list': vkusers, 'group_id': group_id, 'sex': sex, 'smoking':smoking, 'success': success} return render_to_response('blog/vkuser_list.html', ctx, context_instance = RequestContext(request)) </code></pre> <p>在我的网址.py地址:</p> <pre><code>url(r'^vkusers3/(\d{1,8})/(\d{1})/(\d{1})/$', 'blog.views.list_groupmembers_sex', name='vkuser-list3'), </code></pre> <p>在我的基本.html地址:</p> <pre><code><li class="menu-level-1"><a href="{% url 'vkuser-list3' group_id sex smoking %}">users</a></li> </code></pre> <p>Django 1.6.10,MongoDB 2.7.1,mongoengine</p>
0 条评论
分类:
Python问答
请先
登录
后评论
默认排序
时间排序
1 个回答
匿名
1天前
擅长:python、mysql、java
<p>在这一点上,您应该咬紧牙关,只需查询参数-<code>vkusers3/?sex=1&smoking=2&group= 11122233</code>。您可以完全从URL和视图定义中删除参数,只需在视图主体中使用<code>request.GET['sex']</code>等。你知道吗</p>
请先
登录
后评论
针对此问题:
更多的回答
关注
89
关注
收藏
1
收藏,
216
浏览
网友 提问于 2天前
相关Python问题
我想从用户inpu创建一个类的实例
6 回答
我想从用户导入值,为此
10 回答
我想从用户那里得到一个整数输入,然后让for循环遍历该数字,然后调用一个函数多次
2 回答
我想从用户那里收到一个列表,并在其中执行一些步骤,然后在步骤完成后将其打印回来,但它没有按照我想要的方式工作
6 回答
我想从用户那里获取输入,并将值传递给(average=dict[x]/6),然后在那里获取resu
1 回答
我想从第一个列表中展示第一个词,然后从第二个列表中展示十个词,以此类推- Python
1 回答
我想从第一个空lin开始解析文本文件
4 回答
我想从简历、简历中提取特定部分
3 回答
我想从给定字典(python)的字符串中删除\u00a9、\u201d和类似的字符。
9 回答
我想从给定的网站Lin下载许多文件扩展名相同的Wget或Python文件
1 回答
我想从网上搜集一些关于抵押贷款的数据
8 回答
我想从网站上删除电子邮件地址
1 回答
我想从网站上读取数据该网站包含可下载的文件,然后我想用python脚本把它发送给oracle如何?
5 回答
我想从网站中提取数据,然后将其显示在我的网页上
2 回答
我想从网页上提取统计数据。
6 回答
我想从网页上解析首都城市,并在用户输入国家时在终端上打印它们
4 回答
我想从色彩图中删除前n个颜色,而不丢失原始颜色数
8 回答
我想从课堂上打印字典里的键
6 回答
我想从费用表中获取学生上次支付的费用,其中学生id=id
4 回答
我想从较低的顺序对多重列表进行排序,但我无法在一行中生成结果
4 回答