![]() |
![]() |
| Paypal | FTP | CCD | Buscar | Trucos | Trabajo | Foros |
|
#9
|
||||
|
||||
|
La ventaja de cosas como Ruby On Rails, Django, TurboGears y demas es que son "stacks", o sea, es la integracion de uno o varios frameworks que automatizan cosas. El stack lo componen:
* Esquema MVC * Un ORM (que mapea objetos a tablas) * Un sistema de manejo de URLs * Un sistema de generacion de plantillas / lenguaje de markup * Un medio de integrar javascript/ajax * Frameworks de medio y bajo nivel para comprimir la salida, autenticacion, etc... * Todo alambrado e integrado Para hacer una idea, es tan productivo como Delphi, solo que: - De una vez esta en modalidad MVC - Todo esta especificado (ej: Las clases las pones aqui, las vistas aqui. Por aqui se configura la BD, etc...) que tiene la ventaja que facilita a los nuevos a entrar y a los viejos a integrar. - El ORM seria similar a Bold/ECO, aunque de todas maneras ECO es mas sofisticado Por ejemplo, esto es todo lo que necesito en django para hacer CRUD y una interface administrativa automatica (Django tiene - a la fecha - el *mejor* sistema de administracion auto-generado): Código:
class File(models.Model):
createdOn = models.DateTimeField('fecha de creacion',editable=False,blank=False,auto_now_add=True,default=datetime.now())
modifedOn = models.DateTimeField('fecha de modificacion',editable=False,blank=False,auto_now=True,default=datetime.now())
tags = models.CharField('etiquetas',maxlength=255,blank=False)
title = models.CharField('titulo',maxlength=50,blank=False,db_index=True)
userId = models.SlugField(prepopulate_from=('title', 'title'),blank=False)
content = models.TextField('contenido')
status = models.IntegerField('estado',default=1,choices=ESTATUS_CHOICES)
filePath = models.FileField('ruta de archivo',upload_to='data//files')
fileSize = models.IntegerField('tamaño en Kb',editable=False,default=0)
def __str__(self):
return '%s (%s)' % (self.name, self.filePath)
def get_absolute_url(self):
return "/descargas/%s/" % self.userId
""" Deduce el tipo de datos MIME para hacer descargas correctas """
def mimeType(self):
return mimetypes.guess_type(self.filePath)
def save(self):
Content.save(self)
class Admin:
search_fields = ['filePath','title','tags']
list_display = ('title', 'filePath','fileSize','tags')
class Meta:
verbose_name = 'archivo'
db_table = 'jhonWebFile'
Vale la pena mirar la informacion sobre Ruby On Rails y sobre Django y demas. Realmente, si alguien arranca hoy a hacer sitios o aplicaciones web, este seria el mejor camino...
__________________
El malabarista. |
|
|
|