Уведомления

Группа в Telegram: @pythonsu

#1 Апрель 22, 2013 14:14:52

Virtul
От:
Зарегистрирован: 2012-01-27
Сообщения: 26
Репутация: +  0  -
Профиль   Отправить e-mail  

Инициализировать объект в импортированном модуле

Помогите разобраться, делаю своё первое малюсенькое приложение в виде packag'а, соответственно есть модуль __init__.py с функцией main, в нём импортирую модуль db.py, где с использованием либы peewee создано несколько классов и методов для работы с mysql:

hostconf_dbname = "database"
hostconf_dbaddr="127.0.0.1"
...
db = MySQLDatabase(hostconf_dbname, host=hostconf_dbaddr, user=hostconf_dbuser, passwd=hostconf_dbpass)
db.connect()
class BaseModel(Model):
    class Meta:
        database = db
В __init__.py тоже есть ряд опций, я хочу все опции вынести в конфигурационный файлик и иметь в проекте объект/модуль с нужными мне переменными (используя ConfigParser)
Т.е. в коде выше использовать что-то вроде: db = MySQLDatabase(conf.hostconf_dbname, host=conf.hostconf_dbaddr, …)

Собственно вопрос - как правильно организовать код? (чтобы в Meta поле database было инициализировано параметром из конфига)
- создать модуль conf, в нём несколько переменных для опций
- в __init__.py сначала распарсить конфиг, инициализировать переменные модуля conf
- и только потом импортировать модуль db
так? не коряво ли получается?




Отредактировано Virtul (Апрель 22, 2013 14:41:41)

Офлайн

Board footer

Модераторировать

Powered by DjangoBB

Lo-Fi Version