it-swarm-pt.tech

O que é um bom peso leve Python MVC?

Eu sei que há uma tonelada de Python por aí. Vocês podem me indicar a direção certa? Minha principal preocupação é a simplicidade, não preciso de muitos recursos estranhos. algumas outras coisas que eu gostaria (ou não):

  • não se preocupe com o ORM, só quero que ele funcione com o MySQL
  • possui rotas configuráveis
  • tem suporte para layouts
71
jon

web2py tem 265Kbytes de código fonte e 1.2MB com tudo incluído (compare com 4.6MB de Django). No entanto, o web2py fará tudo o que você precisa (gerenciar sessão, cookies, solicitação, resposta, cache, internacionalização, erros/tickets, abstração de banco de dados para GAE, SQLite, MSSQL, MySQL, Postgres, Oracle, FireBird, etc.) Não precisa de instalação - basta descompactar e clicar nele - e você pode fazer o desenvolvimento no seu navegador.

O Web2py possui rotas e rotas reversas.

O Web2py possui sistemas de modelos hierárquicos, o que significa que uma visualização pode estender um layout que pode estender outro layout, etc. As visualizações também podem incluir outras visualizações.

44
massimo

Como você explicitamente não deseja um ORM, eu ficaria longe de uma estrutura de "pilha cheia" se fosse você. O padrão WSGI do Python oferece várias opções fáceis de usar, que oferecem os recursos necessários e permitem que você escolha seu estilo de trabalho.

Aqui está um exemplo: para envio de URL, você pode usar Routes , que se move sobre o estilo de envio de URL do Rails. Ou você pode combinar Seletor com WebOb se esse estilo combina mais com você.

Para "layouts", você pode usar o poderoso Jinja2 se desejar modelos que não podem executar código. Ou Mako se você preferir poder misturar um pouco de código com seus modelos. Você pode até usar Deliverance para controlar o layout das páginas compostas por vários aplicativos e até vários idiomas!

Uma estrutura da Web com pilha completa é legal, pois faz várias opções para você, permitindo que você preste atenção apenas no aplicativo que está construindo. Porém, as opções listadas acima são uma boa coleção para você começar a construir sua própria. Se você seguir esse caminho, será fácil conectar Beaker para armazenamento em cache e sessões, se necessário, ou WebError para ajudá-lo na depuração.

Pessoalmente, sou um grande fã de ORMs (particularmente SQLAlchemy ), mas se você deseja tornar o ORM livre e leve em geral, não consegue superar a combinação dos ótimos componentes WSGI disponíveis no Python.

31
Kevin Dangoor

Experimente web.py uma tentativa. É muito simples e pode fornecer o minimalismo que você está procurando.

11
Dimitry Z

Postes.

É muito melhor que o Django, e não vem com um ORM de baixa qualidade.

9
habnabit

As pessoas já deram muitas respostas sobre estruturas de aplicativos da Web, mas o MVC (ou qualquer outro paradigma) não está vinculado apenas à Web. Isso é apenas por clareza.

Se você é um MVC simples, o Pylons se conforma ao paradigma de uma maneira mais rigorosa. Django interpreta MVC e eles chamam de model-template-view , mas a idéia de separação de funções é a mesma. A escolha real é uma questão de gosto pessoal, embora nenhum desses dois eu considere a luz (os postes podem parecer mais leves , mas na verdade não é, e recentemente Django ganhou um peso adicional - provavelmente você não caberá nem em aplicativos pequenos como blogs pessoais com 20 MB de memória residente).

Obviamente, nada o impedirá de escrever sua própria estrutura, por exemplo. com WebOb . Você pode fazê-lo como leve como quiser (e aprender muitas coisas tentando).

8
zgoda

checkout https://github.com/salimane/bottle-mvc ou https://github.com/salimane/flask-mvc . Eles são padrões que podem ajudar você a começar com controladores, modelos em pastas separadas. Eles são baseados em frameworks bottle e flask micro, sem recursos inúteis, e oferecem a flexibilidade de conectar os módulos que você quiser.

6
Salimane Adjao Moustapha

Se você quer algo simples, sem ter que criar o seu próprio framework , embora ainda não seja inclusivo (Django), você pode tentar CherryPy . Pode usar quase qualquer dispatcher (sistema de roteamento de manipulador de página/URL). Você também teria que escolher seu próprio mecanismo de modelagem, Genshi é o meu favorito.

6
alif

Quando se trata de aplicativos de desktop Dabo é uma boa escolha. É uma estrutura de plataforma cruzada sobre o wxPython que suporta MySql, Postgresql, Firebird e Sqlite.

6
uwe

Você quer web2py. Verifique-o:

  • não se preocupe com o ORM, só quero que ele funcione com o MySQL

O Web2py não possui um ORM, mas possui um invólucro sintático sobre o SQL que facilita muito a execução do SQL.

  • possui rotas configuráveis
  • tem suporte para layouts

... web2py tem os dois.

E o web2py é mais leve que o Django/Rails/o que quer que seja. É MUITO fácil de aprender. As coisas mais difíceis de aprender uma estrutura MVC são os scripts, o ORM e (com o Django) a linguagem de modelo. Mas o web2py se livrou dos scripts, simplificou o ORM e a linguagem do modelo é apenas python de uma maneira inteligente.

5
toomim

Django!

O Google App Engine usa.

Eu também o uso para meus próprios projetos de animais de estimação.

4
Graviton

Sim, eu diria Django é definitivamente o caminho a percorrer. Seu design modular garante que você possa misturar e combinar componentes (ORM, mecanismo de modelagem, envio de URL, ...) Em vez de ficar preso com um componente fornecido pela estrutura, você pode substituí-lo por qualquer equivalente de terceiros.

4
Gabriel Ross

web2py! Django chama um controller de view ', disse nuf.

3
why

Se você deseja simplicidade, use web2py ou postes. Django é bom ... mas a curva de aprendizado é íngreme

3
BasicGuy

Django. Você não tem para usar os recursos adicionais, e é bem projetado para que você possa combinar bibliotecas de terceiros conforme necessário.

2
John Millikin

Eu daria uma olhada em Pylons ; é leve e rápido.

2
tholo

Também estou no barco Django. Aqui estão algumas razões:

  • Você provavelmente economizará tempo com a interface de administração do Django para evitar consultas manuais.
  • O sistema de templates do Django é fantástico
  • O Django tem uma comunidade MARAVILHOSA , muito ansiosa para ajudar (veja #Django em freenode )
2
Ross

Eu sou realmente novo em Python mas tentei calar alguns, especialmente Django e web2py. Adorei a simplicidade do web2py, consegui criar um site de média complexidade em poucos dias.Tem um conjunto de recursos imprecisos, um DAL, geração de código, HTML hlpers e, para mim, o recurso mais importante foi a documentação no site.

2
user10917

Django é a minha recomendação.

Você pode encontrar um introdução aqui (um Google Tech Talk de Jacob Kaplan-Moss):

E você também pode dar uma olhada em palestra de Adrian Holovaty em Snakes and Rubies , Universidade DePaul:

0
Nolan Evans