Como porta de Drupal para Django?

votos
6

Qual seria a melhor maneira de portar um site Drupal existente para uma aplicação Django? Eu tenho cerca de 500 páginas (principalmente módulos livros) e cerca de 50 posts. Não estou usando qualquer módulo do 3o partido. Eu gostaria de manter os URLS atuais (para fins de SEO) e migrar banco de dados para Django. Vou criar um aplicativo de blog simples, de modo a migração posts deve ser ok. Qual seria a melhor maneira de servir mais de 500 páginas com Django? Eu gostaria de usar Admin para editar / adicionar novas páginas.

Publicado 16/10/2008 em 21:29
fonte usuário
Em outras línguas...                            


3 respostas

votos
12

Todo o desenvolvimento Django é semelhante, e vocês vão se encaixam no padrão.

  1. Definir o modelo de Django para seus livros e posts.

  2. teste de unidade que modelo usando capacidades de testes internos do Django.

  3. Escrever alguns pequenos utilitários para carregar seus dados legados para Django. Neste ponto, você vai perceber que o seu modelo de Django não é perfeito. Boa. Consertá-lo. Fixar os testes. Refazer as cargas.

  4. Configure a interface padrão do administrador ao seu modelo. Neste ponto, você vai gastar tempo ajustando a interface de administração. Você vai perceber o seu modelo de dados está errado. O que é uma boa coisa. Corrigir o seu modelo. Fixe seus testes. Corrija suas cargas.

  5. Agora que seus dados estão corretos, você pode criar modelos de suas páginas de legado.

  6. Criar mapeamentos de URL e visualizar funções para preencher os templates do modelo de dados.

Aproveite o tempo para obter o modelo de dados direita. É realmente importa, porque tudo é muito simples se o seu modelo de dados é sólido.

Respondeu 16/10/2008 em 22:06
fonte usuário

votos
3

Pode ser possível escrever modelos do Django que trabalham com o banco de dados legado (eu fiz isso no passado, ver docs on manage.py inspectdb).

No entanto, eu seguir o conselho acima e criar um banco de dados limpo usando convenções Django, e depois migrar os dados mais. Eu costumo escrever scripts de migração que escrever para o novo banco de dados através de Django e ler o antigo usando as APIs Python DB-primas (embora seja possível para amarrar Django para vários bancos de dados simultaneamente , também).

Também sugiro dar uma olhada os aplicativos de blogs disponíveis para Django. Se o incluído no Pinax adapte às suas necessidades, vá em frente e usar Pinax como ponto de partida.

Respondeu 18/10/2008 em 13:37
fonte usuário

votos
0

S.Lott resposta ainda é válido após anos, eu tento completar a análise com as ferramentas e formato para fazer o trabalho.

Existem muitas ferramentas Drupal exportação de lá por agora, mas com o mesmo pedido eu vou para Visualizações Datasource escolher JSON como formato. Este módulo é muito sólido e disponível para a última versão do Drupal. O JSON formato é muito rápido, tanto de análise e codificação e é fácil de ler e muito Python-friendly ( importação JSON ).

Usando exibições de fonte de dados que você pode criar uma visão nó classificado por ID de nó (nid), mostram um número limitado de elementos por página, configure um caminho de vista, adicionar a ele um identificador de filtro e passar para ele o nid para ler todos os elementos até chegar uma resposta JSON vazio.

Ao importar em Django você tem um amplo conjunto de ferramentas, bem como, a partir de loaddata para carregar dispositivos elétricos . Visualizações Datasource exportados JSON mas não está formatada como Django espera luminárias: você pode escrever um comando admin personalizado para fazer a importação, onde você pode ter o controle total do fluxo de importação.

Você pode começar seu comando passando um nid = 0 como argumento e deixar que o procedimento de ler, importação e então buscar os dados a partir da próxima passagem página simplesmente o último nid ler na solicitação HTTP anterior. Você pode até mesmo restringir o acesso ao caminho em vista, mas você precisa de configuração adicional no lado da importação.

Com relação ao desempenho, apenas por exemplo, eu analisado e importados 15.000+ nós em menos de 10 minutos através de um comando de administração de 1,8 personalizado Django em uma máquina virtual / 8 GB Linux 8 núcleos e PostgreSQL como DBMS, registrando sucesso e erro informações para um modelo personalizado para cada nó.

Estes são os princípios para importação / exportação entre estes dois plataforma, para obter informações detalhadas que eu descrevi todos os principais passos para a exportação de Drupal e depois importar para Django neste guia .

Respondeu 11/10/2015 em 06:43
fonte usuário

Cookies help us deliver our services. By using our services, you agree to our use of cookies. Learn more