Pregunta

Tengo un proyecto en mente que hace que valga para finalmente dar el paso en la programación.

Después de leer un montón de cosas, aquí y en otros lugares, que sea puesto en hacer que el pitón me entero por ahora, sobre C # o Java. Lo que me convenció a la mayoría era en realidad excursiones de Paul Graham en lenguajes de programación Lisp y, a pesar de Arco se encuentra en la fase experimental, que podría no me ayude a hacer esta aplicación web en este momento.

En cuanto a la aplicación web rápida, he comprobado a cabo Django, Turbo engranajes y Py2Web. A pesar de pasar mucho tiempo leyendo, todavía tengo ni idea de cuál debo utilizar.

1) Django sin duda tiene la mejor presencia en línea, y un tutorial en el sitio muy bien hecho, seguro que sabe cómo mostrar su cosa.

2) Web2Py que me atrajo con su no-instalación-necesita y la pretensión de hacer Django aspecto complicado. Pero cuando se excave en su página web, a encontrar rápidamente el contenido que no se ha actualizado en años con enlaces externos rotos ... Hay fantasmas en ese sitio web que hacen que alguien no íntimamente familiarizado con el proyecto si la preocupación que podría ser flatlining.

3) Turbo engranajes ... supongo que es modular, también. Las personas que escribieron sobre ella encantó ... no pude encontrar nada que pudiera específica que sea especial sobre Django.

No he decidido sobre un IDE todavía, aunque he leído todas las respuestas al mensaje de finalización de código Intellisense aquí. Mostrando fragmentos de código adicionales sería demasiado frío para noobs como yo, pero supongo que debo elegir mi trabajo bulárcama primero y después seleccione un editor que va a funcionar bien con él.

Dado que probablemente hay un marco es sin duda el mejor en todo, voy a dar algunos detalles sobre la aplicación que queremos construir:

Se utilizará MySQL, necesita registrarse / inicio de sesión, y habrá una carga de operaciones matemáticas sencillas en los datos de entrada y las consultas SQL. He realizado un prototipo funcional en Excel, así que sé exactamente lo que queremos construir, que espero le ayudará a superar mi noobness. Voy a ser una pequeña aplicación, nada grande.

Y no quiero ver nada de HTML, mientras que la construcción de ésta ;-)

PD: gracias a las personas que dirigen Stackoverflow, encontramos este lugar justo en el momento correcto también

¿Fue útil?

Solución

Se debe mirar la documentación en línea web2py ( http://web2py.com/book ). Viene con un papel de control de acceso basado en (el mecanismo más de control de acceso general) y es muy granular, puede conceder el acceso para la operación específica en registros específicos. Viene con un IDE basado en la web, pero se puede utilizar WingIDE , y href="http://www.jetbrains.com/pycharm/" rel="nofollow noreferrer"> PyCharm demasiado . Viene con el sistema de ayuda que le permite generar código HTML sin utilizar HTML. Aquí está un ejemplo de una aplicación completa que requiere que los usuarios registrarse / login / publicar mensajes:

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())

El proyecto web2py es muy activo como se puede ver en la lista de cambios http: //code.google.com/p/web2py/source/list

Si usted tiene preguntas relacionadas web2py le recomiendo encarecidamente que se une a la lista de correo web2py: http://groups.google.com/group/web2py/topics

Somos muy activos y sus preguntas serán contestadas muy rápidamente.

Otros consejos

Tengo que decir como desarrollador no particularmente experto, la velocidad a la que he sido capaz de crear usando web2py ha soplado mi mente. En gran parte debido a la increíble comunidad y el valor central Massimo tiene de hacer accesible el marco.

Cuando empecé yo había escrito 0 líneas de código en Python Nunca oído hablar de web2py

He estado en serio por alrededor de un mes y han progresado (en mi forma habitual) de hacer preguntas que nadie podía responder (porque no tienen ningún sentido) para la codificación de horas a la vez sin necesidad de descolgar un libro o hacer una pregunta.

Estoy realmente impresionado.

He tenido experiencias positivas con Django.

  • autenticación integrada y fácil de usar extensiones para registration
  • Muy buena documentación
  • probables escribir sus plantillas HTML en su mayoría en base.html, a continuación, sólo tiene que utilizar la herencia de plantillas (Nota: Tendrá que escribir al menos un poco de HTML)
  • En contraste con TurboGears, Django es más 'fuera-de-la-caja'
  • No tengo ninguna experiencia con web2py, pero desde mi impresión, se trata de hacer un poco de mucho 'out-of-the-box'

Si usted decide ir con Django, asegúrese de que utilice sus vistas genéricas. Ellos le salvará de escribir un montón de código, tanto Python y HTML.

Además, a menos que haya una razón muy específica para que pueda utilizar MySQL, yo le aconsejo que cambie a PostgreSQL. Django está mucho más orientada hacia PostgreSQL y es una base de datos mucho mejor de todos modos.

La documentación de Django en línea es grande, esto es lo que lo puso aparte de todos los otros marcos. También recomiendo el libro Practical Django Proyectos de James Bennett

  • Django: Heard Tiene la mejor administrativa interfaz. Pero usos su propio ORM, es decir, no utiliza SQL-Alchemy.

  • Web2py:. No investigar esto

  • Turbogears2: Utiliza SQL-Alchemy por defecto, utiliza Pasarela para admin interfaz, pero la documentación no es tan grande.

Me eligió Turbogears2 ya que utiliza componentes populares, por lo que no tenía que aprender nada nuevo ...

Yo he usado tanto web2py y RoR ampliamente, y mientras RoR ha conseguido una gran popularidad y apoyo en los últimos años, web2py es más simple, más limpio, menos "mágica", y sin embargo, también ofrece más (útil) fuera -de-la-caja de funcionalidad. Yo diría que web2py tiene más potencial que RoR, pero es relativamente un nuevo marco y todavía no tiene la madurez de RoR. (A pesar de eso, sin embargo, yo elegiría web2py sobre RoR cualquier día ...)

Si "no quiere ver nada de HTML, mientras que la construcción de ésta", entonces usted puede olvidarse de Django. No se centra en el "punto de clic de hecho", que se centra en los profesionales que van desde el concepto hasta la producción en el menor tiempo posible. La naturaleza jerárquica del lenguaje de plantillas puede dar lugar a algunos diseños del sitio en general muy limpio. Yo uso de Django para todos mis sitios más grandes y me encanta.

A pesar de que está escrito en PHP, Python no, es posible echar un vistazo a la nueva e importante versión de WordPress que salió hace unos 2 o 3 meses. En 3.0 se han recorrido un largo camino de ser un entorno de "blogs", Y hay un montón de plantillas ya preparadas para ello. Por supuesto, si desea modificar una plantilla, bueno, hay que desagradable vieja HTML nuevo. Estoy pensando en usarlo para mis clientes pequeños que no pueden hacer frente a la administración de un servidor dedicado, etc., que tiende a venir con un sitio Django.

Actualización: Ah, me perdí la semi-broma - que era demasiado temprano y que tiende a hacer que mi oído musical al humor. Por lo que el uso de plantillas de sitios existentes, he hecho esto con bastante éxito con un par de sitios, tanto los que eran estáticas y los impulsados ??originalmente por los scripts PHP bien escritos. Recomiendo una lectura cuidadosa de la {% extends %} y {% include %} docs. Ambos toman ya sea una cadena literal o una variable. He utilizado el método más tarde y que puede ser muy útil para un sitio que tiene una fuerte jerarquía que se distingue por cambios en el estilo de las sucursales.

También vale la pena el tiempo para entender el orden de búsqueda para las plantillas - que puede ser utilizado con buenos resultados, pero puede ser desconcertante si no asimilo ella. Ver los artículos relacionados con la plantilla en ajustes archivo .py por esta y otras golosinas útiles.

Licenciado bajo: CC-BY-SA con atribución
No afiliado a StackOverflow
scroll top