Я пытаюсь использовать бутылку для обновления информации на сайте, загружаемом из команд в бот-чате, но изо всех сил пытаюсь получить информацию от одного маршрута к другому, проверяя, определены ли переменные.Проверка, определены ли глобальные переменные в бутылке
Он работает отлично, пока я не добавил:
if 'area' not in globals():
area = ''
if 'function' not in globals():
function = ''
if 'user' not in globals():
user = ''
if 'value' not in globals():
value =''`
Чтобы проверить, если переменная была определена. Он работает, если я не установил значение, используя/in. в противном случае это ошибки с
Traceback (most recent call last):
File "/usr/local/lib/python3.5/dist-packages/bottle.py", line 862, in _handle
return route.call(**args)
File "/usr/local/lib/python3.5/dist-packages/bottle.py", line 1732, in wrapper
rv = callback(*a, **ka)
File "API.py", line 43, in botOut
return area + function + user + value
UnboundLocalError: local variable 'area' referenced before assignment
Полный код:
from bottle import route, error, post, get, run, static_file, abort, redirect, response, request, template
Head = '''<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="utf-8">
<link rel="stylesheet" href="style.css">
<script src="script.js"></script>
<script src="//ajax.googleapis.com/ajax/libs/jquery/1.8.2/jquery.min.js"></script>
</head>
'''
foot = '''</body></html>'''
@route('/in')
def botIn():
global area
global function
global user
global value
area = request.query.area
function = request.query.function
user = request.query.user
value = request.query.value
print(area)
return "in"
@route('/out')
def botOut():
if 'area' not in globals():
area = ''
if 'function' not in globals():
function = ''
if 'user' not in globals():
user = ''
if 'value' not in globals():
value =''
return area + function + user + value
run (host='0.0.0.0', port=8080)