Django视图/方法在没有任何实际调用的情况下重复调用

时间:2015-07-22 03:28:28

标签: python django range xrange

for i in xrange(1,NUM_USERS+1):
            print i
            private = RSA.generate(3072,Random.new().read)
            public = private.publickey()
            new_user = User(public_rsa=public.exportKey(), secret_rsa=private.exportKey())
            new_user.save()

在上面的循环中,我给出了NUM_USERS=100的值但是循环迭代到200而不是100.可能的原因是什么?

修改 我很抱歉,我不小心弄清楚整个python方法被调用了两次,我不知道为什么,所以我会详细描述。我正在编写一个基于django的服务器端,其方法如下:

def index(request):
    return HttpResponse("CREST Top Dir: " + PROJECT_ROOT)

def server_setup(request):
    try:
        process = subprocess.check_output(BACKEND+"mainbgw setup " + str(NUM_USERS), shell=True,\
                                          stderr=subprocess.STDOUT)

        for i in xrange(1,NUM_USERS+1):
            print i

现在发生的事情是,当我调用server_setup视图时,它有时会执行多次。同样,如果我调用index视图,有时也同时调用server_setup。所以问题不在于xrange,而在于方法调用。这个问题可能是什么原因?

1 个答案:

答案 0 :(得分:1)

检查NUM_USERS是否为100。

for i in xrange(1,NUM_USERS+1):

    print 'NUM_USERS:', NUM_USERS  # check it

    print i
    private = RSA.generate(3072,Random.new().read)
    public = private.publickey()
    new_user = User(public_rsa=public.exportKey(), secret_rsa=private.exportKey())
    new_user.save()