小编zjm*_*126的帖子

如果没有实现"next",这个类如何实现"__iter__"方法?

我在django.template中有以下代码:

class Template(object):
    def __init__(self, template_string, origin=None, name='<Unknown Template>'):
        try:
            template_string = smart_unicode(template_string)
        except UnicodeDecodeError:
            raise TemplateEncodingError("Templates can only be constructed from unicode or UTF-8 strings.")
        if settings.TEMPLATE_DEBUG and origin is None:
            origin = StringOrigin(template_string)
        self.nodelist = compile_string(template_string, origin)
        self.name = name

    def __iter__(self):
        for node in self.nodelist:
            for subnode in node:
                yield subnode

    def render(self, context):
        "Display stage -- can be called many times"
        return self.nodelist.render(context)
Run Code Online (Sandbox Code Playgroud)

我困惑的部分如下.这种__iter__方法有什么用?我找不到任何相应的next方法.

def __iter__(self):
        for node in self.nodelist:
            for subnode …
Run Code Online (Sandbox Code Playgroud)

python iterator yield

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

可以将sqlite加载10M数据到内存中

如果有可能,怎么样?

我想加快sqlite中的读数(而不是写作)

谢谢

sqlite

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

如何删除Google地图上的标记?

我只知道一种方式:

右键单击并单击"删除我"

我还可以在Google地图上删除标记吗?

这是我现在的代码:

GEvent.addListener(marker, 'mousedown', function(e) {
    alert(e)
    if (e.button == 2){
    alert('sss')
    map.removeOverlay(marker);
}
Run Code Online (Sandbox Code Playgroud)

当我右键单击时,它会发出警报(40.23141543543321,114.3214121421); 当我查看API时,我看到了这个:

mousedown(latlng:GLatLng) 
Run Code Online (Sandbox Code Playgroud)

所以我认为这e不是一个事件,而是'GLatLng'

如果我使用'singlerightclick',当我右键单击时没有任何反应.

这是我的完整代码:

<!DOCTYPE html PUBLIC "-//WAPFORUM//DTD XHTML Mobile 1.0//EN" "http://www.wapforum.org/DTD/xhtml-mobile10.dtd">
<html xmlns="http://www.w3.org/1999/xhtml" >
    <head> 
        <meta http-equiv="Content-Type" content="text/html; charset=UTF-8"> 
        <meta name="viewport" content="width=device-width,minimum-scale=0.3,maximum-scale=5.0,user-scalable=yes">

    </head>
<body onload="initialize()" onunload="GUnload()">

<style type="text/css">
*{
    margin:0;
    padding:0;
    }
#head{
    height:70px;
    background:#a00;
    }
#logo{
color:white;
font-weight:bold;
line-height:70px;
margin-left:100px;
    }
#main{
position:relative;
margin-top:1px;
    }
#left{
border:1px solid red;
height:700px;
margin-right:202px;
    }
#top{
font-weight:bold;
line-height:70px;
margin-left:120px; …
Run Code Online (Sandbox Code Playgroud)

javascript google-maps google-maps-markers

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

deepcopy的第二个参数memo的目的是什么?

from copy import* 
a=[1,2,3,4]
c={'a':'aaa'}
print c
#{'a': 'aaa'}
b=deepcopy(a,c)
print b

print c
# print {'a': 'aaa', 10310992: 3, 10310980: 4, 10311016: 1, 11588784: [1, 2, 3, 4, [1, 2, 3, 4]], 11566456: [1, 2, 3, 4], 10311004: 2}
Run Code Online (Sandbox Code Playgroud)

为什么c打印出来

请尝试使用代码,而不是文字,因为我的英语不是很好,谢谢

在django.utils.tree.py中

def __deepcopy__(self, memodict):
        """
        Utility method used by copy.deepcopy().
        """
        obj = Node(connector=self.connector, negated=self.negated)
        obj.__class__ = self.__class__
        obj.children = deepcopy(self.children, memodict)
        obj.subtree_parents = deepcopy(self.subtree_parents, memodict)
        return obj



import copy
memo = {}
x1 = range(5)
x2=range(6,9)
x3=[2,3,4,11] …
Run Code Online (Sandbox Code Playgroud)

python

16
推荐指数
3
解决办法
5217
查看次数

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

字符串模块和str之间的关系

strstring之间有什么区别或关系?

import string 
print str
print string 
Run Code Online (Sandbox Code Playgroud)

python

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

将jQuery元素转换为常规dom元素

常规的dom元素如下:

document.getElementById('a')

要么

document.createElement('div')

但是jQuery以另一种格式返回元素,所以例如我想将返回的内容转换为与返回$('#a')的内容相同的结果.document.getElementById('a')

这可能使用jQuery吗?

谢谢

javascript jquery

14
推荐指数
3
解决办法
6836
查看次数

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

如何使用django中间件在所有django上下文中插入一些文本

这是我的中间件代码:

from django.conf import settings
from django.template import RequestContext

class BeforeFilter(object):
    def process_request(self, request):
        settings.my_var = 'Hello World'
        request.ss = 'ssssssssss'
        return None
    def process_response(self, request, response):

        return response
Run Code Online (Sandbox Code Playgroud)

这是settings.py:

TEMPLATE_CONTEXT_PROCESSORS = (
    'django.core.context_processors.request',
)
MIDDLEWARE_CLASSES = (
    ...
    'middleware.BeforeFilter',
)
Run Code Online (Sandbox Code Playgroud)

而且观点是:

#coding:utf-8

from django.conf import settings
from django.shortcuts import render_to_response

from django.http import HttpResponse 
from django.template import RequestContext


def index(request):
    context = RequestContext(request)
    context['a'] = 'aaaa'
    return render_to_response('a.html',context)
Run Code Online (Sandbox Code Playgroud)

HTML是:

{{a}}fffff{{ss}}
Run Code Online (Sandbox Code Playgroud)

但它没有显示{{ss}}:

aaaafffff 
Run Code Online (Sandbox Code Playgroud)

那我怎么展示:

aaaafffffssssssss
Run Code Online (Sandbox Code Playgroud)

如何使用django中间件在所有django上下文中插入一些文本,

所以我不能每次都插入文本,

谢谢

python django templates

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

如何在我的代码中打印中文单词..使用python

这是我的代码:

print '??'.decode('gb2312').encode('utf-8')
Run Code Online (Sandbox Code Playgroud)

...它打印:

SyntaxError: Non-ASCII character '\xe5' in file D:\zjm_code\a.py on line 2, but no encoding declared; see http://www.python.org/peps/pep-0263.html for details
Run Code Online (Sandbox Code Playgroud)

我该如何打印'哈哈'?

更新: 当我使用以下代码时:

#!/usr/bin/python
# -*- coding: utf-8 -*-

print '??'
Run Code Online (Sandbox Code Playgroud)

...打印???.这不是我想要的.

我的IDE是Ulipad,这是IDE的错误吗?

第二次更新:

此代码将正确打印字符:

#!/usr/bin/python
# -*- coding: utf-8 -*-


print u'??'.encode('gb2312')
Run Code Online (Sandbox Code Playgroud)

......当我用它时:

#!/usr/bin/python
# -*- coding: utf-8 -*-

a='??'
print a.encode('gb2312')
Traceback (most recent call last):
  File "D:\zjm_code\a.py", line 5, in <module>
    print a.encode('gb2312')
UnicodeDecodeError: 'ascii' codec can't decode byte 0xe5 in position 0: …
Run Code Online (Sandbox Code Playgroud)

python cjk

12
推荐指数
2
解决办法
5万
查看次数