Найти - Пользователи
Полная версия: Flask-admin во внешнем файле
Начало » Web » Flask-admin во внешнем файле
1
ZerG
Всем привет!
Прошу прощения за глупый вопрос - никак не могу нагуглить…
Учу фласк. Есть учебный проект по следам http://habrahabr.ru/post/193242/
Вот решил прикрутить админку, но хочу при этом вынести ее в отдельный файл
В __init__.py добавил
# -*- coding: utf-8 -*-
import os
from flask import Flask
from flask.ext.sqlalchemy import SQLAlchemy
from flask.ext.login import LoginManager
from flask.ext.openid import OpenID
from config import basedir
from flask.ext.admin import Admin
app = Flask(__name__)
app.config.from_object('config')
db = SQLAlchemy(app)
lm = LoginManager()
lm.init_app(app)
lm.login_view = 'login'
oid = OpenID(app, os.path.join(basedir, 'tmp'))
admin = Admin(app)
from app import views, models

Создал файл app/admin.py
В нем уже хочу описать методы и вьюхи. Ну например - банально отобразить модель

# -*- coding: utf-8 -*-
from app import db, admin
from flask.ext.admin.contrib.sqla import ModelView
from models import User
admin.add_view(ModelView(User, db.session))
Но понятно что при запуске проекта я в админке модели не вижу.
Подскажите что и где я не правильно понял?
sander
добавление вьюхи нужно делать в файле __init__.py
ZerG
Безусловно - но как вы могли заметить я как раз и спрашиваю как вынести ето в отдельный файл! Я не хочу держать настройки админки и так далее в __init__ файле
Virtul
admin.init_app(app) не видно в коде
и в __init__ импортнуть модуль app/admin.py надо бы (до init)
ZerG
ниочем….
sander
вынести никак, а файл с обьявлением app и добалением расширений для этого и нужен, обьявите вьюху в другом файле, где и кастомизируйте, и импортируйте в __init__.py
ZerG
Других вариантов нет что ли?
4kpt_III
ZerG
А чем Вас смущает решение sander?
Все правильно.
Так делаются и формы. Выносятся в отдельный файл и импортируются в файле __init__.py, т.е.
app/__init__.py
Там же конфигурируется проект и инициализируются все подключения. Также нормальной практикой считается настройка там логгера.
This is a "lo-fi" version of our main content. To view the full version with more information, formatting and images, please click here.
Powered by DjangoBB