Pergunta

Agora que eu comecei relativamente familiarizados com web2py, eu gostaria de dar Django uma vez.

Quais são as principais diferenças?

Qual seria a maneira mais eficiente para começar tendo em conta o conhecimento web2py? (Deve ajudar a ter algum conhecimento estrutura de aplicativo python, não?)

Editar

Além disso, se você já usou ambos, você pode oferecer uma opinião sobre qual você prefere e por quê?

Foi útil?

Solução

web2py foi muito inspirado pelo Django e se você conhece um que é fácil de aprender do outro. Nós adicionamos algumas características não encontramos em Django, incluindo: migrações de banco de dados (tabelas automaticamente alterar), bilhetes de erros, um IDE baseado na web, uma camada de abstração de banco de dados que funciona no Google App Engine, um mecanismo de controle de acesso baseado em função com login pluggable módulos.

Uma das diferenças fundamentais do projeto é que, em Django aplicativos são implementados como módulos e, portanto, você precisa reiniciar o servidor quando você editá-los. Em web2py vez Modelos / views / Controllers não são módulos, que são executados (e não importadas) pelos quadros e, portanto, você não precisará reiniciar o servidor quando eles mudam.

Outra diferença é que o Django usa um ORM, web2py usa uma DAL. A DAL é o nível ligeiramente inferior ao Django ORM e isso faz com que seja mais perto da sintaxe SQL (por exemplo, se permite que deixou junta, agregados arbitrárias, seleciona aninhados e suas combinações), permanecendo portátil (apoiamos 10 diferentes bancos de dados). A DAL também torná-lo fácil de fazer meta-programação dinâmica de modelos (como criar modelos em tempo de execução com base nas especificações armazenadas no arquivo como um arquivo XML ou CSV).

Django tem sido em torno de mais para que você encontrar mais pessoas qualificadas com ele e mais aplicativos implementados.

Outras dicas

Django = velho

web2py = new

Qualquer coisa Django faz, web2py faz melhor. Isso ocorre porque web2py foi feito muito tempo depois de Django e aprendeu com os erros do Django, embora ele faz todos os novos erros;)

Principal diferença, eo que está me mantendo em web2py:

  1. Django tem documentação incrível ... web2py é tão intuitiva que ele não precisa tanto ... NO ENTANTO! eu descobri que a documentação Django é aplicável a web2py, por a maior parte. Se você passar um dia e ler o livro Django (Ch 1-7), você vai ter a idéia sobre como isso é verdade. Então, de certa forma, dizendo Django é melhor documentado é estúpido. Além disso, nota que qualquer quadro que sai por aí falando sobre os volumes de documentação para ele como uma coisa boa ... se preocupar ... documentação é bom, não necessitando de qualquer para começar = melhores. documentação existente do web2py mais do que satisfaz as necessidades de 90% dos usuários. Os restantes 10% têm de ir dar uma olhada no código da biblioteca estrutura (não como muito do que como Django, e não tão assustador). Além disso, se você chegar ao ponto onde você está gastando mais de 30% do seu tempo a passar por código da biblioteca, é hora de se afastar de estruturas e avançar para coleções de bibliotecas (tais como postes). Nesse ponto, isso significa que você não está fazendo nada que frameworks web foram projetados para lidar com ...

  2. SQLForm em Django é TextModel. Depois de criar um formulário usando TextModel (= SQLForm). Boa sorte tentando mudar o CSS de um único campo de entrada! Em web2py você acabou de fazer form.element (), existe tal coisa em Django. Você tem que passar por "widget ()", mas para chegar ao widget, você tem que primeiro passar o tipo de campo de entrada, etc ...

  3. Além disso, a migração DB manual de ... esquema mudança? Desculpe ... tem que quer baixar e instalar um aplicativo de migração separada (Sul), ou tem que fazê-lo manualmente em seu console DB.

  4. Por fim, não fora da caixa suporte para vários bancos de dados ... acho aros ...

Em outras palavras ... com Django ... espero que você gosta de salto e aros.

Se você quiser realmente dar um salto para a frente de web2py, tente Pilões ... sério ...

O maior inconveniente de web2py é sua idade e base de código menor ... isto não é, porém razoável, considerando Django é como o primeiro quadro python web para implementar TRILHOS ideias RAD estilo e é como o dobro da idade de web2py. Web2py ainda está em sua porção dos primeiros a adotar a sua vida ... Django é no além parte massa crítica chegando ao declínio ... web2py deve atingir a massa crítica a qualquer momento nos próximos 2 anos, eu prevejo.

Conclusão Passe um dia, ler o livro Django (cap 1-7), e ler o livro Pilões (Parte 1), e depois pensar sobre por que você está usando uma estrutura para começar. Para mim, foi para obter o máximo feito tão rapidamente quanto possível, e sem olhar para cima documentação 30% do tempo.

web2py satisfaz as necessidades acima para mim.

Eu fiz um pequeno aplicativo web em casa completamente em Django, e, em seguida, depois completamente em web2py. É a única maneira de realmente entender as diferenças e seu impacto sobre a experiência do desenvolvedor.

Eu prefiro web2py porque há mais conveniências incorporadas ao ambiente do que os oferecidos por Django, mas web2py é muito mais recente do que Django, e retrospectiva sempre torna mais fácil fazer novas implementações melhor. Desde web2py tem garantido a compatibilidade com versões anteriores, é inteiramente plausível que algumas novas marcas de ferramentas web2py ultrapassada em poucos anos a partir de agora. Esse é o caminho normal das coisas.

De qualquer forma, eles são muito próximos uns dos outros, muito mais do que qualquer outro framework web em comparação com qualquer um dos dois. Do ponto de vista de um framework web baseado em Java, por exemplo, eles podem parecer quase idênticos uns aos outros.

Ele definitivamente ajuda a ter conhecimento de algum framework python.

A maioria maneira eficaz de começar seria, para comparar os diferentes setores dos dois, ou seja Model, View, Controller, Url Dispatching, modelos, formulários, etc.

Aqui é uma grande comparação de alguns frameworks. Tenho certeza que ele vai ajudar.

Eu era um programador Django antes de se decidir sobre web2py. Eu encontrei-me mais eficiente com web2py, possivelmente por causa dos padrões sensíveis (importações implícitas, exibições padrão, etc) e o grande apoio na fórum .

Resumidamente e direto ao ponto: web2py é o que Django deveria ter sido.

Licenciado em: CC-BY-SA com atribuição
Não afiliado a StackOverflow
scroll top