在django views.py文件中,我遇到了一个问题,就是列表中的所有内容都会被迭代。
from django.shortcuts import render, redirect, HttpResponse
from django.views.decorators.http import condition
import time
import roundrobin
STATES = [
"hello",
"world"
]
get_roundrobin = roundrobin.basic(STATES)
def test(request):
for i in get_roundrobin():
return HttpResponse(i)
Django只回答了states列表中每个元素的第一个符号,我的意思是django返回 "h "然后是 "w",而不是 "hello "然后是 "world",如何解决这个问题?
更新。对了,在roundrobin库里面,有下一段代码。
from itertools import cycle
def basic(dataset):
iterator = cycle(dataset)
def get_next():
a = next(iterator)
print(a)
return a
return get_next
所有的代码都是正确的,它的答案是 "hello "然后是 "world"。
因为 get_roundrobin
返回一个字符串,然后你会在一个列表中迭代,每次只返回第一个字符,试试这个。
from django.shortcuts import render, redirect, HttpResponse
from django.views.decorators.http import condition
import time
import roundrobin
STATES = [
"hello",
"world"
]
get_roundrobin = roundrobin.basic(STATES)
def test(request):
return HttpResponse(get_roundrobin())
现在测试将返回
'hello'
然后'world'
然后'hello'
诸如此类