Databrowse¶
Databrowse é uma aplicação Django que permite você navegar em seus dados.
Assim como a administração do Django cria dinamicamente uma interface espionando os seus modelos, o Databrowse cria dinamicamente um rico e navegável website espionando-os também.
Note
O Databrowse é muito novo e está em fase de desenvolvimento. Ele pode mudar substancialmente antes do próximo release do Django.
Como foi dito, ele é fácil de usar e não requer qualquer código novo. Então você pode brincar com ele hoje, com um pouco de investimento de tempo ou código.
Como usar o Databrowse¶
Aponte o Django para os templates padrões do “Databrowse”. Existem duas maneiras de fazer isso:
- Adicione
'django.contrib.databrowse'
em seuINSTALLED_APPS
. Isso funcionará se seuTEMPLATE_LOADERS
incluir o carregador de templatesapp_directories
(que é o caso por padrão). Veja a documentação do carregor de templates para saber mais. - De outra forma, determine o caminho completo no sistema de arquivos
para o diretório
django/contrib/databrowse/templates
, e o adicione noTEMPLATES_DIRS
do arquivo settings.py.
- Adicione
Registrar um número de modelos com o site Databrowse:
from django.contrib import databrowse from myapp.models import SomeModel, SomeOtherModel databrowse.site.register(SomeModel) databrowse.site.register(SomeOtherModel)
Note que você pode registrar a classe do modelo, não instâncias.
Não importa onde você coloque isto, desde que seja executado em algum ponto. Um bom lugar para isso é seu arquivo URLconf (
urls.py
).Mude seu URLconf para importar o módulo
databrowse
:from django.contrib import databrowse
...e adicione a seguinte linha em seu URLconf:
(r'^databrowse/(.*)', databrowse.site.root),
O prefixo não importa – você pode usar
databrowse/
oudb/
ou o que preferir.Rode o servidor do Django e visite
/databrowse/
em seu navegador.
Requerindo login de usuário¶
Você pode restringir o acesso para usuário logados com poucas linhas de código extra. Simplesmente adicione o seguinte import em seu URLconf:
from django.contrib.auth.decorators import login_required
Em seguida modifique o URLconf a fim de que o view
databrowse.site.root()
seja afetado pelo decorador
django.contrib.auth.decorators.login_required()
:
(r'^databrowse/(.*)', login_required(databrowse.site.root)),
Se você ainda não adicionou suporte para logins de usuários à sua URLconf, como descrito na documentação de autenticação de usuário, então você precisará fazer isso agora com o seguinte mapeamento:
(r'^accounts/login/$', 'django.contrib.auth.views.login'),
O passo final é criar o fomulário de login requerido pelo
django.contrib.auth.views.login()
. A
documentação de autenticação de usuário provê os
detalhes completos e um template de exemplo que pode ser usado com este
propósito.