flask adminlte
1.0.0
Modelo Bootstrap AdminLTE adaptado para a estrutura flask usando flask-admin 1.5.2 e flask-security 3.0.0.
Ajuda a desenvolver um painel de administração bonito e fácil de usar para back-end escrito em frasco.
http://adminlte.najdaapps.com/admin/
login: [email protected]
senha: administrador
Copie os diretórios adminlte
, static
, templates
para o seu projeto.
from flask import Flask , url_for
from flask_security import Security
from flask_admin import helpers as admin_helpers
from adminlte . admin import AdminLte , admins_store
app = Flask ( __name__ )
security = Security ( app , admins_store )
admin = AdminLte ( app , skin = 'green' , name = 'FlaskCMS' , short_name = "<b>F</b>C" , long_name = "<b>Flask</b>CMS" )
@ security . context_processor
def security_context_processor ():
return dict (
admin_base_template = admin . base_template ,
admin_view = admin . index_view ,
h = admin_helpers ,
get_url = url_for
)
class DeviceView ( BaseAdminView ):
column_editable_list = [ 'name' , 'type' , 'rooted' ]
column_searchable_list = [ 'name' , 'type' , 'rooted' ]
column_exclude_list = None
column_details_exclude_list = None
column_filters = [ 'name' , 'type' , 'rooted' ]
can_export = True
can_view_details = False
can_create = True
can_edit = True
can_delete = True
edit_modal = True
create_modal = True
details_modal = False
admin . add_view ( DeviceView ( Device , db . session , name = "Devices" , menu_icon_value = 'fa-laptop' ))
admin . add_link ( FaLink ( name = 'Website' , url = 'http://tomasznajda.com' , icon_value = 'fa-globe' , target = "_blank" ))
admin . add_view ( DeviceView ( Device , db . session , name = "Devices" , category = 'Author' , menu_icon_value = 'fa-laptop' ))
admin . add_link ( FaLink ( name = 'Website' , category = 'Author' , url = 'http://tomasznajda.com' , icon_value = 'fa-globe' , target = "_blank" ))
admin . set_category_icon ( name = 'Author' , icon_type = 'fa' , icon_value = 'fa-address-card' )
app
-> objeto de aplicação Flaskname
-> Ex. FlaskCMS
. Nome do aplicativo. Será exibido como um título de página. O padrão é "Administrador"short_name
-> Por exemplo. <b>F</b>C
. Nome curto do aplicativo. Será exibido na barra de menu recolhida. Por padrão usará o valor da propriedade name.long_name
-> Por exemplo. <b>Flask</b>CMS
. Nome longo do aplicativo. Será exibido na barra de menu expandida e acima de cada formulário de segurança. Por padrão usará o valor da propriedade name.skin
-> Cor da pele AdminLTE ( blue
, black
, puprle
, green
, red
, yellow
, blue-light
black-light
purple-light
, green-light
verde , red-light
, yellow-light
). Por padrão usaremos blue
.url
-> URL basesubdomain
-> Subdomínio a ser usadoindex_view
-> Visualização da página inicial a ser usada. O padrão é AdminIndexView
.translations_path
-> Localização dos catálogos de mensagens de tradução. Por padrão, usaremos as traduções enviadas com o Flask-Admin.endpoint
-> Nome do endpoint base para visualização do índice. Se você usar várias instâncias da classe Admin
com um único aplicativo Flask, será necessário definir um nome de terminal exclusivo para cada instância.static_url_path
-> Caminho de URL estático. Se fornecido, especifica o caminho padrão para o diretório de URL estático para todas as suas visualizações. Pode ser substituído na configuração da visualização.base_template
-> Substitui o modelo HTML base para todas as visualizações estáticas. O padrão é admin/base.html
. column_editable_list = [ 'from_user' , 'to_user' , 'subject' , 'content' , 'created_at' ]
column_searchable_list = [ 'from_user.first_name' , 'from_user.last_name' , 'from_user.email' , 'to_user.first_name' ,
'to_user.last_name' , 'to_user.email' , 'subject' , 'content' , 'created_at' ]
column_exclude_list = [ 'created_at' ]
column_details_exclude_list = [ 'created_at' ]
column_filters = [ 'subject' , 'content' , 'created_at' ]
can_export = True
can_view_details = True
can_create = True
can_edit = True
can_delete = True
edit_modal = True
create_modal = True
details_modal = True
SECURITY_REGISTERABLE = True
SECURITY_RECOVERABLE = True
SECURITY_CHANGEABLE = True