python - как установить глобальные переменные в колбе? [дубликат]
этот вопрос уже есть ответ здесь:
Я работаю над Flask
project и я хочу, чтобы мой индекс загружал больше содержимого при прокрутке.
Я хочу установить глобальную переменную, чтобы сохранить сколько раз на странице нагруженный.
Мой проект структурирован следующим образом:
├──run.py
└──app
├──templates
├──_init_.py
├──views.py
└──models.py
сначала я объявляю глобальную переменную в _init_.py
:
global index_add_counter
и Pycharm предупредил Global variable 'index_add_counter' is undefined at the module level
на views.py
:
from app import app,db,index_add_counter
и ImportError: cannot import name index_add_counter
Я ссылка глобальных переменных-и-питон-фляга Но у меня нет функции main (). Как правильно установить глобальную переменную в склянке?
1 ответов
С:
global index_add_counter
вы не определяете, просто объявляете так, как будто говорите существует глобальный index_add_counter
переменной в другом месте, , а не создать глобальный под названием index_add_counter
. Поскольку вы называете не существует, Python говорит вам, что он не может импортировать это имя. Поэтому вам нужно просто удалить global
ключевое слово и инициализировать переменную:
index_add_counter = 0
теперь вы можете импортировать его с:
from app import index_add_counter
в строительство:
global index_add_counter
используется внутри определений модулей, чтобы заставить интерпретатор искать это имя в области модулей, а не в определении:
index_add_counter = 0
def test():
global index_add_counter # means: in this scope, use the global name
print(index_add_counter)