Python 为什么可以';我不能把这张单子弄脏吗?
此表单的目的是让用户输入许多位置(逗号分隔),并检索电话、姓名和网站。让它在python IDE中工作,没问题,但在将其放入我的webapp时遇到问题 我正在获取错误Python 为什么可以';我不能把这张单子弄脏吗?,python,django,Python,Django,此表单的目的是让用户输入许多位置(逗号分隔),并检索电话、姓名和网站。让它在python IDE中工作,没问题,但在将其放入我的webapp时遇到问题 我正在获取错误异常值:无法在分配a的行中pickle本地对象“GetNums..get_data”。我检查了inputText的类型,并确认它确实是一个列表。所以,我不知道为什么它不会泡菜 def GetNums(request): form = GetNumsForm(request.POST or None) if form.
异常值:无法在分配a
的行中pickle本地对象“GetNums..get_data”
。我检查了inputText
的类型,并确认它确实是一个列表。所以,我不知道为什么它不会泡菜
def GetNums(request):
form = GetNumsForm(request.POST or None)
if form.is_valid():
inputText = form.cleaned_data.get('getnums')
# all experimental
inputText = inputText.split(',')
def get_data(i):
#DON'T FORGET TO MOVE THE PRIMARY KEY LATER TO SETTINGS
r1 = requests.get('https://maps.googleapis.com/maps/api/place/textsearch/json?query=' + i + '&key=GET_YOUR_OWN')
a = r1.json()
pid = a['results'][0]['place_id']
r2 = requests.get('https://maps.googleapis.com/maps/api/place/details/json?placeid=' + pid + '&key=GET_YOUR_OWN')
b = r2.json()
phone = b['result']['formatted_phone_number']
name = b['result']['name']
try:
website = b['result']['website']
except:
website ='No website found'
return ' '.join((phone, name, website))
v = str(type(inputText))
with Pool(5) as p:
a = (p.map(get_data, inputText))
# for line in p.map(get_data, inputText):
# print(line)
#code assist by http://stackoverflow.com/a/34512870/5037442
#end experimental
return render(request, 'about.html', {'v': a})
它实际上是在尝试pickle
获取_数据时发出的,这是一个嵌套函数/闭包
将get_data
移出GetNums
(请将其重命名为snake_case),它应该可以工作。哇,我很高兴这是一个简单的修复!