Fiquei bastante preocupado em como posso criar uma tabela em meu blog pessoal e adicionar funcionalidades de tabela que me permitirão acessar rapidamente qualquer dado específico. No caso em que os dados das tabelas são muito grandes, a adição de paginação foi extremamente necessária. Além disso, carregar os dados na tabela da maneira mais eficiente possível ajudaria a melhorar a experiência de trabalho com meu aplicativo de blog.
Criar uma tabela no flask é muito fácil. Tudo que você precisa fazer é definir uma estrutura de tabela e exibir todos os usuários na tabela.
A tabela básica é uma tabela que exibe todos os dados do banco de dados, assim como a tabela de bootstrap. Eu chamo isso de básico no sentido de que é muito bom para exibir dados curtos. No entanto, não é muito eficiente exibir grandes dados.
A maior deficiência da tabela básica, que simplesmente mostra todos os dados do usuário em nosso banco de dados, é que, por alguns segundos no carregamento da página, esta tabela exibirá a tabela inteira antes que a paginação comece. grande, um usuário terá que esperar pacientemente enquanto a rota 'faz seu trabalho' antes que a mesa final real seja exibida.
O uso do Ajax ajuda a resolver o problema enfrentado pela tabela básica. Aqui, a tabela é carregada primeiro vazia quando a solicitação de acesso à tabela ajax é feita. Um segundo endpoint é usado para exibir os dados na tabela. No entanto, ainda há um pequeno problema com esta tabela. Se os dados forem muito grandes, a tabela ficará vazia por alguns segundos antes que os dados reais sejam exibidos. Isso ocorre porque toda a tabela deve ser carregada primeiro, e isso pode levar algum tempo dependendo do tamanho dos dados.
Com a tabela do lado do servidor, todos os recursos como paginação, pesquisa e classificação são implementados no lado do servidor. Esta é uma maneira muito eficiente de exibir grandes dados. Quando uma solicitação para a tabela paginada do lado do servidor é feita, apenas os dados encontrados na página específica serão exibidos. Se um usuário navegar para outra página, será feita uma nova solicitação de dados na próxima página. Como tal, apenas os dados necessários são carregados e exibidos. É uma solução melhor, mas é um pouco mais complicada de implementar. Recursos como pesquisa e classificação precisam ser movidos do lado do cliente para o lado do servidor.
NOTA: Se você testar o aplicativo no servidor Heroku, poderá encontrar "Erro inesperado". Isso ocorre porque o Heroku oferece uma quantidade limitada de armazenamento de banco de dados. Atualmente, o aplicativo gera automaticamente centenas de usuários que, no momento em que você acessa o aplicativo, o Heroku pode ter desativado seu banco de dados por exceder o limite de armazenamento na versão gratuita.
Se estiver interessado em testar o aplicativo, você pode usar os seguintes comandos para executá-lo:
Clone este repositório:
$ git clone [email protected]:GitauHarrison/beautiful-flask-tables.git
Altere o diretório para acessar o aplicativo:
$ cd beautiful-flask-tables
Crie e ative o ambiente virtual:
$ mkvirtualenv flask-tables
Instale dependências:
$ pip3 install -r requirements.txt
Execute o aplicativo:
$ flask run
Abra o aplicativo em seu navegador rodando na porta local 5000:
O uso de JQuery está obsoleto atualmente. Isso torna o DataTables.js desatualizado porque depende de JQuery. Confira aqui a versão atualizada deste projeto onde mostro como trabalhar com Grid.js.