Question

Je suis un projet à l'esprit qui le rend finalement la peine de faire le grand saut dans la programmation.

Après avoir lu beaucoup de choses, ici et ailleurs, je suis mis sur Python faire celui que j'apprends pour l'instant, sur C # ou java. Ce qui m'a le plus convaincu était en fait des excursions de Paul Graham sur les langages de programmation et Lisp, bien que l'arc est au stade expérimental, ce qui ne me aider à faire cette application web en ce moment.

En ce qui concerne l'application Web rapide, j'ai vérifié Django, Turbo Gears et Py2Web. Malgré dépenser beaucoup de temps à lire, je n'ai encore aucune idée de qui je devrais utiliser.

1) Django a certainement la plus belle présence en ligne, et un tutoriel sur place bien fait, ils savent bien comment montrer leur chose.

2) web2py qui m'a attiré par son installation sans besoin et la demande de faire Django regard compliqué. Mais quand vous creusez sur leur site web, vous trouverez rapidement le contenu qui n'a pas été mis à jour depuis des années avec des liens externes cassés ... Il y a des fantômes sur ce site que quelqu'un fait pas très familier avec le souci du projet si elle pourrait être flatlining.

3) Turbo Gears ... Je suppose que son modulaire aussi. Les gens qui ont écrit à ce sujet ont adoré ... Je ne pouvais pas trouver quelque chose de spécifique qui pourrait le rendre spécial sur Django.

Je ne l'ai pas décidé sur un IDE encore, bien que je lis toutes les réponses au code IntelliSense achèvement post ici. Affichage des extraits de code supplémentaires serait cool aussi pour les noobs comme moi, mais je suppose que je dois choisir mon travail de porque d'abord, puis choisir un éditeur qui va bien travailler avec elle.

Comme probablement pas de cadre est de loin le meilleur de tout, je vais donner quelques détails sur l'application que je veux construire:

Il utilisera MySQL, il a besoin d'enregistrer / connexion, et il y aura une charge d'opérations mathématiques simples sur les données de l'entrée et les requêtes SQL. J'ai réalisé un prototype fonctionnel dans Excel, donc je sais exactement ce que je veux construire, qui je l'espère me aider à vaincre ma noobness. Je serai une petite application, rien de grand.

Et je ne veux pas voir HTML tout en construisant ;-)

PS: grâce aux gens qui courent Stackoverflow, a trouvé cet endroit juste au bon moment aussi

Était-ce utile?

La solution

Vous devriez consulter la documentation en ligne web2py ( http://web2py.com/book ). Il est livré avec un contrôle d'accès basé sur les rôles (le plus mécanisme de contrôle d'accès général) et il est très granulaire, vous pouvez accorder l'accès pour un fonctionnement spécifique sur les dossiers spécifiques. Il est livré avec un basé sur le Web IDE mais vous pouvez utiliser WingIDE , Eclipse et PyCharm aussi . Il est livré avec le système d'aide qui vous permet de générer le code HTML sans utiliser HTML. Voici un exemple d'une application complète qui oblige les utilisateurs à enregistrer / login / poster des messages:

db.define_table('message',Field('body'),Field('author',db.auth_user))
@auth.requires_login()
def index():
    db.message.author.default=auth.user.id
    db.message.author.writable=False
    return dict(form=crud.create(db.message),
                messages=db(db.message.id>0).select())

Le projet web2py est très actif comme vous pouvez le voir dans la liste des changements http: //code.google.com/p/web2py/source/list

Si vous avez des questions liées web2py je vous suggère fortement joindre la liste de diffusion de web2py: http://groups.google.com/group/web2py/topics

Nous sommes très actifs et vos questions seront répondues très rapidement.

Autres conseils

Je dois dire que développeur pas particulièrement qualifié, la vitesse à laquelle je suis en mesure de créer à l'aide web2py a soufflé mon esprit. En grande partie en raison de la communauté étonnante et la valeur de base Massimo a de rendre le cadre accessible.

Quand j'ai commencé, je l'avais écrit 0 lignes de code en Python Jamais entendu parler de web2py

Je suis à sérieusement pendant environ un mois et ont progressé (à ma manière habituelle) de poser des questions que personne ne pouvait répondre (parce qu'ils ne font aucun sens) à coder pendant des heures à la fois sans la cueillette un livre ou poser une question.

Je suis vraiment impressionné.

J'ai eu des expériences positives avec Django.

  • authentification intégrée et facile à utiliser des extensions pour registration
  • Très bonne documentation
  • Vous écrivez probable vos templates HTML principalement dans base.html, puis utilisez simplement l'héritage de modèle (Note: Vous devez écrire au moins un peu de HTML)
  • Contrairement à Turbogears, Django est plus 'out-of-the-box'
  • Je n'ai aucune expérience avec web2py, mais de mon impression, il essaie de faire un peu trop « out-of-the-box »

Si vous décidez d'aller avec Django, assurez-vous que vous utilisez ses vues génériques. Ils vous évitera d'écrire beaucoup de code, à la fois Python et HTML.

En outre, à moins d'une raison très spécifique pour vous d'utiliser MySQL, je vous conseille de passer à PostgreSQL. Django est beaucoup plus orienté vers PostgreSQL et il est une bien meilleure base de données de toute façon.

La documentation Django en ligne est grande, voici ce qui a mis à part tous les autres cadres. Je vous recommande également le livre pratique Projets Django par James Bennett

  • Django: Entendu, il a le meilleur administratif interface. Mais l'utilise son propre ORM, à savoir ne pas utiliser SQL-Alchemy.

  • Web2py. N'a pas la recherche de cette

  • TurboGears2: Utilise SQL-Alchemy par défaut, utilise Catwalk pour admin interface, mais la documentation est pas grande.

J'ai choisi TurboGears2 car il utilise des composants populaires, donc je ne devais pas apprendre quelque chose de nouveau ...

Je l'ai utilisé à la fois web2py et RoR largement, et tout en RoR a obtenu beaucoup de popularité et de soutien au cours des dernières années, web2py est plus simple, plus propre, moins « magique », et pourtant aussi des offres plus (utile) sur -De-the-box fonctionnalité. Je dirais que web2py a plus de potentiel que RoR, mais il est un cadre relativement nouveau et n'a pas encore la maturité de RoR. (Malgré cela, cependant, je choisirais web2py sur RoR un jour ...)

Si vous « ne voulez pas voir HTML tout en construisant » alors vous pouvez oublier Django. Il ne se concentre pas sur « fait le point-clic, » il se concentre sur les avantages allant du concept à la production dans les plus brefs délais. La nature hiérarchique de la langue templating peut conduire à des mises en page de site dans son ensemble très propre. J'utilise Django pour tous mes grands sites et je l'aime.

Bien qu'il soit écrit en PHP, Python pas, vous pouvez jeter un oeil à la nouvelle version majeure de WordPress est sorti il ??y a environ 2 ou 3 mois. Dans la version 3.0, ils ont parcouru un long chemin d'être un environnement « blogs seulement » et il y a des tonnes de modèles prêts à pour elle. Bien sûr, si vous souhaitez modifier un modèle, eh bien, il y a ce nouveau méchant vieux HTML. J'envisage de l'utiliser pour mes petits clients qui ne peuvent pas faire face à l'administrateur d'un serveur dédié, etc., qui a tendance à venir avec un site Django.

Mise à jour: Ah, j'ai raté la demi-blague - j'étais trop tôt et qui a tendance à me faire ton sourd à l'humour. En ce qui concerne l'utilisation des modèles à partir de sites existants, je l'ai fait tout à fait avec succès avec un couple de sites, ceux qui étaient statiques et ceux qui sont motivés à l'origine par des scripts PHP bien écrits. Je recommande une lecture attentive de la {% extends %} et {% include %} docs. Les deux prennent soit un littéral chaîne ou une variable. Je l'ai utilisé la méthode plus tard et il peut être très utile pour un site qui a une forte hiérarchie se distingue par des changements de style à travers les branches.

Il vaut également le temps de comprendre l'ordre de recherche des modèles - il peut être utilisé à bon escient, mais il peut être déconcertant si vous ne GROK pas. Voir les articles liés à un modèle en paramètres dossier de py pour cela et d'autres goodies utiles.

scroll top