Instalação do Xadmin
Existem duas formas principais de instalar o Xadmin:
Método 1: Instalação via pip
Pode ocorrer um erro de codificação durante a instalação via pip. Neste caso, é necessário baixar o código-fonte, corrigir o arquivo README.rst e então realizar a instalação locamlente.
Para mais detalhes, clique aqui.
Método 2: Instalação via Código-Fonte
Baixe o código-fonte do Xadmin do GitHub. Em seguida, adicione o pacote do app xadmin diretamente ao seu projeto como um app de terceiros. Lembre-se de registrá-lo no settings.py.
Veja os detalhes a seguir em um exemplo de uso simplificado.
Uso Básico do Xadmin
Siga estes passos para uma configuração inicial:
Passo 1: Configuração no settings.py
Adicione os seguintes apps à lista INSTALLED_APPS:
INSTALLED_APPS = [
# ... outros apps
'xadmin',
'crispy_forms',
# ... outros apps
]
Passo 2: Configuração das URLs
Atualize o arquivo de configuração de URLs principal do seu projeto (geralmente urls.py) para incluir as URLs do Xadmin:
from django.conf.urls import url
import xadmin
urlpatterns = [
# Descomente ou remova a linha original do admin do Django se necessário
# url(r'^admin/', admin.site.urls),
url(r'^xadmin/', xadmin.site.urls),
]
Passo 3: Criação e Migração Inicial das Tabelas
Antes de usar o Xadmin, é crucial executar as migrações para criar as tabelas do banco de dados. Caso contrário, você receberá um erro 1146.
python manage.py makemigrations
python manage.py migrate
Passo 4: Registro de Modelos no Xadmin
Crie um arquivo chamado adminx.py dentro do diretório de cada um dos seus apps (você pode remover ou ignorar o arquivo admin.py original se desejar). Registre seus modelos usando a sintaxe do Xadmin.
import xadmin
from .models import UserAsk, UserCourse, UserMessage, CourseComments, UserFavorite
# Registro do modelo UserAsk
class UserAskAdmin(object):
list_display = ['name', 'mobile', 'course_name', 'add_time']
search_fields = ['name', 'mobile', 'course_name']
list_filter = ['name', 'mobile', 'course_name', 'add_time']
# Adicione mais configurações conforme necessário
xadmin.site.register(UserAsk, UserAskAdmin)
# Repita o processo para outros modelos:
# xadmin.site.register(UserCourse, UserCourseAdmin)
# xadmin.site.register(UserMessage, UserMessageAdmin)
# ...
Passo 5: Acessando o Painel e Criando um Superusuário
Acesse o painel administrativo do Xadmin através do URL configurado (ex: http://127.0.0.1:8000/xadmin/). Você precisará de uma conta de superusuário para fazer login.
Crie um superusuário usando o sgeuinte comando:
python manage.py createsuperuser
Após o login, você poderá visualizar e gerenciar os dados das tabelas registradas.
Configuração Global do Xadmin
O Xadmin oferece opções de personalização global para o painel administrativo.
Habilitando Funcionalidades de Tema
Para ativar as opções de tema, adicione a seguinte configuração em qualquer um dos seus arquivos adminx.py:
from xadmin import views
class BaseConfiguration(object):
enable_themes = True # Ativa a funcionalidade de temas
use_bootswatch = True # Habilita a seleção de temas da biblioteca Bootswatch
xadmin.site.register(views.BaseAdminView, BaseConfiguration)
Alterando Título, Rodapé e Estilo do Menu
Você pode personalizar o título exibido no painel, o texto do rodapé e o estilo de organização do menu lateral.
# Configurações Globais do Site
class GlobalConfiguration(object):
site_title = "Sistema de Gerenciamento Alpacas" # Título exibido no canto superior esquerdo
site_footer = "Associação Geral dos Alpacas" # Texto exibido no rodapé da página
menu_style = "accordion" # Organiza os menus laterais em formato de acordeão por App
xadmin.site.register(views.CommAdminView, GlobalConfiguration)
Ajustando Nomes de Exibição dos Apps (Django Nativo)
A alteração dos nomes de exibição dos aplicativos é uma funcionalidade nativa do Django, não diretamente do Xadmin. Para isso, modifique os arquivso apps.py e __init__.py de cada app.
No arquivo apps.py, adicione o atributo verbose_name:
from django.apps import AppConfig
class UsersConfig(AppConfig):
name = 'users'
verbose_name = "Gerenciamento de Usuários" # Nome de exibição do App
No arquivo __init__.py do mesmo app, adicione a linha para habilitar a configuração:
default_app_config = "users.apps.UsersConfig"