Question

Maintenant que je suis devenu relativement familier avec web2py, je voudrais donner Django un aller.

Quelles sont les principales différences?

Quelle serait la façon la plus efficace pour commencer la prise en compte des connaissances web2py? (Il doit aider à avoir une certaine connaissance du cadre d'application python, non?)

EDIT

En outre, si vous avez utilisé les deux, pouvez-vous donner un avis sur lequel vous préférez et pourquoi?

Était-ce utile?

La solution

web2py a été très inspiré par Django et si vous connaissez un, il est facile d'apprendre l'autre. Nous avons ajouté quelques fonctionnalités que nous ne trouvons pas dans Django, y compris: les migrations de bases de données (modifier les tables automatiquement), des billets sur des erreurs, un IDE basé sur le Web, une couche d'abstraction de base de données qui fonctionne sur Google App Engine, un mécanisme de contrôle d'accès basé sur les rôles avec connexion connectable modules.

L'une des différences fondamentales de conception est que dans les applications Django sont mises en œuvre sous forme de modules et donc vous devez redémarrer le serveur lorsque vous les modifiez. Dans web2py au lieu Modèles / vues / contrôleurs ne sont pas des modules, ils sont exécutés (non importés) par les cadres et donc vous n'avez pas besoin de redémarrer le serveur lorsqu'ils changent.

Une autre différence est que Django utilise un ORM, web2py utilise un DAL. Le DAL est de niveau légèrement inférieur à la Django ORM et cela rend plus proche de la syntaxe SQL (par exemple est permet à gauche rejoint, les agrégats arbitraires, imbriqués et sélectionne des combinaisons de ceux-ci) tout en restant portable (nous soutenons 10 différentes bases de données). Le DAL fait aussi facile à faire méta-programmation dynamique de modèles (par exemple créer des modèles lors de l'exécution sur la base des spécifications stockées dans le fichier tels que un fichier XML ou CSV).

Django a été autour plus si vous trouvez plus de gens qualifiés avec elle et d'autres applications déployées.

Autres conseils

Django = vieux

Web2py = new

Tout ce que Django fait, web2py fait mieux. En effet, web2py a été faite longtemps après django et a appris des erreurs de Django, mais il fait toutes les nouvelles erreurs;)

La principale différence, et ce qui me tient à web2py:

  1. Django dispose d'une documentation incroyable ... web2py est tellement intuitif qu'il n'a pas besoin d'autant de ... CEPENDANT! J'ai trouvé que la documentation Django est applicable à web2py, pour la plus grande partie. Si vous passez un jour et lire le livre de django (Ch 1-7), vous aurez l'idée de la façon dont cela est vrai. D'une certaine manière, en disant Django est mieux documenté est stupide. En outre, notez que tout cadre qui va en train de parler sur les volumes de documents pour elle comme une bonne chose ... être concerné ... la documentation est bonne, pas besoin de tout commencer par = mieux. La documentation existante web2py plus répond aux besoins de 90% des utilisateurs. Les 10% restants doivent aller jeter un oeil sur le code de la bibliothèque-cadre (pas autant comme Django, et pas aussi effrayant). En outre, si vous arrivez au point où vous dépensez plus de 30% de votre temps en passant par le code bibliothèque, il est temps de se éloigner de cadres et se diriger vers des collections de bibliothèques (comme pylones). À ce moment-là, cela signifie que vous ne faites rien que les cadres web ont été conçus pour traiter ...

  2. SQLForm dans Django est TextModel. Une fois que vous créez un formulaire à l'aide TextModel (= SQLForm). Bonne chance de changer le CSS d'un champ d'entrée unique! Dans web2py vous venez de faire form.element (), rien de tel dans Django. Vous devez passer par « un widget () », mais pour arriver à widget, vous devez d'abord passer par le type de champ de saisie, etc ...

  3. En outre, la migration manuelle DB ... schéma de changement? Désolé ... doivent soit télécharger et installer une application de migration séparée (Sud), ou doivent le faire manuellement dans votre console DB.

  4. Enfin, pas sur le support de boîte pour plusieurs blocs de données ... pensez cerceaux ...

En d'autres mots ... avec Django ... espère que vous aimez sauter et cerceaux.

Si vous voulez vraiment prendre un bond en avant de web2py, essayez Pylônes ... sérieusement ...

Le plus gros inconvénient de web2py est son âge et base de code plus petit ... ce n'est pas déraisonnable que, compte tenu du Django est comme le premier framework web python pour mettre en œuvre des idées de RAD de style RAILS et est comme l'âge de web2py deux fois. Web2py est encore dans sa partie au début de sa vie à adopter ... Django est dans la partie au-delà de la masse critique à venir à décliner ... web2py devrait atteindre une masse critique tous les jours maintenant dans les 2 prochaines années, je prédis.

Conclusion Passez une journée, lire le livre de django (ch 1-7), et lire le livre Pylônes (partie 1), puis réfléchir à pourquoi vous utilisez un cadre pour commencer. Pour moi, il était d'obtenir autant fait le plus rapidement possible, et sans lever la documentation 30% du temps.

Web2py répond aux besoins ci-dessus pour moi.

J'ai fait une petite maison app web complètement dans Django, puis ensuite complètement web2py. Il est la seule façon de vraiment comprendre les différences et leur impact sur l'expérience des développeurs.

Je préfère web2py parce qu'il ya plus de commodités intégrées dans l'environnement que proposée par Django, mais web2py est beaucoup plus récent que Django, et le recul rend toujours plus facile faire de nouvelles implémentations mieux. Depuis web2py a garanti la compatibilité ascendante, il est tout à fait plausible que certains nouvel outil fait web2py obsolète dans quelques années. Telle est la façon normale des choses.

Quoi qu'il en soit, ils sont très proches les uns des autres, bien plus que tout autre framework web par rapport à l'une des deux. Du point de vue d'un framework web basé sur Java par exemple, ils peuvent sembler presque identiques les uns aux autres.

Il contribue certainement à avoir une connaissance de certains cadre de python.

La façon la plus efficace pour commencer serait, de comparer les différents secteurs des deux, à savoir modèle, vue, contrôleur, Url Dispatching, modèles, formulaires, etc.

est une excellente comparaison de quelques cadres. Je suis sûr que ça va aider.

Je suis un programmeur Django avant de s'installer sur web2py. Je me suis trouvé plus efficace avec web2py, peut-être à cause des défauts sensibles (les importations implicites, vues par défaut, etc.) et le grand soutien à la forum .

En bref et au point: Web2py est ce que Django aurait dû être.

Licencié sous: CC-BY-SA avec attribution
Non affilié à StackOverflow
scroll top