Уведомления

Группа в Telegram: @pythonsu

#1 Сен. 29, 2016 09:56:07

avega
Зарегистрирован: 2016-09-29
Сообщения: 2
Репутация: +  0  -
Профиль   Отправить e-mail  

Доступ к объекту модуля НЕ через точку.

Добрый день.
Делаю приложение на Flask + flask-mongoengine.
Существует модуль с описанием моделей объектов (models.py).
При написании роутера возник вопрос:
Как можно получить доступ к объекту из импортируемого модуля ‘models.py’ без точки?
Приведу небольшой пример:

 import models as mod
@app.main.route('/<p>')
def index(p):
    if p == 'Nomenklature':
        noms = mod.Nomenclature.objects
    elif p == 'NomenclatureType':
        noms = mod.NomenclatureType.objects
А хотельсь-бы что-то вроде такого:
 import models as mod
@app.main.route('/<p>')
def index(p):
    if p:
        noms = mod[p].objects
Может посоветуете как преобразовать структуру кода.
Заранее благодарен.

Офлайн

#2 Сен. 29, 2016 10:13:28

4kpt_IV
Зарегистрирован: 2016-01-08
Сообщения: 999
Репутация: +  49  -
Профиль   Отправить e-mail  

Доступ к объекту модуля НЕ через точку.

1. По фласку лучше писать в другую ветку.
2. По Вашему вопросу. Сомнительно, что нужно именно в виде получения по ключу

 import models as mod
@app.main.route('/<p>')
def index(p):
    if p:
        noms = getattr(mod, p).objects

P.S. По-свободе рекомендую почитать что-то по языку все таки, перед тем как садиться за flask. Быстрый вариант - М. Лутц: Изучаем Python. 3 издание.

Офлайн

#3 Сен. 29, 2016 10:59:51

avega
Зарегистрирован: 2016-09-29
Сообщения: 2
Репутация: +  0  -
Профиль   Отправить e-mail  

Доступ к объекту модуля НЕ через точку.

Спасибо большое.

Офлайн

Board footer

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

Powered by DjangoBB

Lo-Fi Version