小编use*_*171的帖子

Django模板无法循环defaultdict

import collections

data = [
  {'firstname': 'John', 'lastname': 'Smith'}, 
  {'firstname': 'Samantha', 'lastname': 'Smith'}, 
  {'firstname': 'shawn', 'lastname': 'Spencer'}, 
]

new_data = collections.defaultdict(list)

for d in data:
    new_data[d['lastname']].append(d['firstname'])

print new_data
Run Code Online (Sandbox Code Playgroud)

这是输出:

defaultdict(<type 'list'>, {'Smith': ['John', 'Samantha'], 'Spencer': ['shawn']})
Run Code Online (Sandbox Code Playgroud)

这是模板:

{% for lastname, firstname in data.items %}
  <h1> {{ lastname }} </h1>
  <p> {{ firstname|join:", " }} </p>
{% endfor %}
Run Code Online (Sandbox Code Playgroud)

但是我的模板中的循环不起作用.什么都没有出现.它甚至没有给我一个错误.我怎样才能解决这个问题?它应该显示姓氏和名字,如下所示:

<h1> Smith </h1>
<p> John, Samantha </p>

<h1> Spencer </h1>
<p> shawn </p>
Run Code Online (Sandbox Code Playgroud)

python django loops

66
推荐指数
3
解决办法
6616
查看次数

如何在数据存储区(AppEngine)中随机获取内容?

目前我正在使用这样的东西:

    images = Image.all()
    count = images.count()
    random_numb = random.randrange(1, count)
    image = Image.get_by_id(random_numb)
Run Code Online (Sandbox Code Playgroud)

但事实证明AppEngine数据存储区中的ID不是从1开始的.我在数据存储区中有两个图像,它们的ID是6001和7001.

有没有更好的方法来检索随机图像?

python google-app-engine

17
推荐指数
3
解决办法
4106
查看次数

使用Javascript抓取网站?

我正在努力将信息提交给严重依赖Javascript来完成其大部分操作的网站.当我在浏览器中禁用Javascript时,该网站甚至无法工作.

我在Google和SO上搜索了一些解决方案,并且有人建议我应该对Javascript进行逆向工程,但我不知道该怎么做.

到目前为止,我一直在使用Mechanize,它适用于不需要Javascript的网站.

有没有办法通过使用urllib2或类似的东西访问使用Javascript的网站?我也愿意学习Javascript,如果这就是它需要的东西.

javascript python screen-scraping

14
推荐指数
6
解决办法
2万
查看次数

Pylons认证?

是否有一种在Pylons中添加身份验证的真实方法?我见过很多不同的方式,但大多数都是过时的或过于复杂的.是否有某个教程解释了如何以良好和可靠的方式添加身份验证?

pylons

7
推荐指数
2
解决办法
1934
查看次数

如何使用Python访问Web?

我想在不使用API​​的情况下访问网站.我会通过使用像Mechanize这样的东西吗?

python

6
推荐指数
2
解决办法
4万
查看次数

正则表达式.匹配包含特殊字符或'http://'的单词

我希望匹配包含特殊字符或以"http://"开头的单词

所以这句话

%#llo,我的网站是:http://www.url.com/abcdef123

应该变成这个

我的网站

到目前为止,我有这个

re.sub(r"^[^\w]", " ", "%he#llo, my website is: http://www.url.com/abcdef123")
Run Code Online (Sandbox Code Playgroud)

这只是删除符号,但它不会删除与符号关联的单词(它也不会删除':'和','),也不会删除URL.

python regex

4
推荐指数
1
解决办法
1万
查看次数

如何每10秒发出一次Ajax请求(除了长轮询)?

我试图每10秒从服务器请求一个json对象使用这个:

setInterval(function(){
  $.ajax({
    url: '/',
    success: function(data){
      //do stuff with data
    }
  });
}, 10000);
Run Code Online (Sandbox Code Playgroud)

但这不是很有效.我知道长轮询,但我认为这不会产生很大的影响.我知道每10秒钟我会收到一些新数据,那么在效率方面是否会使长轮询与setInterval完全相同?

浏览器端缓存是解决此问题的好方法吗?

我将获得的JSON对象如下所示:

var data =  {1: {'user': 'John', 'age': '25'}, {2: {'user': 'Doe', 'age': '30'}}
Run Code Online (Sandbox Code Playgroud)

有了这个,我想显示数据[0] .user几秒钟,然后通过使用'fadeOut'和'fadeIn'等顺利地将其更改为数据[1] .user,直到用完用户为止.我基本上想要创建用户的用户名的幻灯片.

缓存是一个很好的解决方案还是应该坚持每10秒进行一次Ajax调用?如果是这样,那么我将如何实现这个,如果没有,我应该使用什么方法?

我不确定我是否解释得足够好,所以告诉我是否仍然不清楚.

javascript ajax jquery json

3
推荐指数
1
解决办法
6211
查看次数

Python字典没有更新

def mergeDict(object):
    dict1 = {}
    for i in range(len(object)):
        dict1.update({'id': object[i].id, 'name': object[i].name, 'age': object[i].age, 'location': object[i].location})
        return dict1
merged_dict = mergeDict(details_sorted)
Run Code Online (Sandbox Code Playgroud)

但这不起作用.

我想得到这样的东西:

{1: {'id': 1, 'name': 'John', 'age': '25'; 'location': 'somewhere'},
 2: {'id': 2, 'name': ......}}
Run Code Online (Sandbox Code Playgroud)

python

2
推荐指数
1
解决办法
139
查看次数

Python dict问题.如何分组相似的字符串?

for i in names:
    dict[i] = {'firstname': name[i]['firstname'],
               'lastname': name[i]['lastname']}
    print dict[0]['firstname'] # John
    print dict[0]['lastname'] # Doe

    # group similar lastnames, along with their firstnames
    # ...
return render_to_response('index.html', dict)
Run Code Online (Sandbox Code Playgroud)

我想分组以相似的姓氏结尾的名字.例如,输出应为:

<html>
  <body>
    <h1> Doe </h1>
    <p> John, Jason, Peter </p>

    <h1> Avery </h1>
    <p> Kelly, Brittany </p>
  </body>
</html>
Run Code Online (Sandbox Code Playgroud)

'h1'标签应该包含姓氏,'p'标签包含名字.

我该怎么做?

python django

1
推荐指数
1
解决办法
1466
查看次数