español python django scaffolding

python - flask vs django español



¿Hay algún andamiaje adecuado para Django?(A la ruby on rails) (6)

Acabo de usar el comando de administración / ayuda del andamio proporcionado por Django Common y parece que ha configurado una buena cantidad de código repetitivo. Las opciones son limitadas, pero lo suficientemente decentes.

Hojeé el código y la mayoría se ve bien. Sin embargo, tuve que hacer un poco de limpieza, una vez que se ''erigió'' el andamio:

  • Se agregaron líneas de import separadas para cada modelo creado. Se fusionaron.
  • Las plantillas aún llevaban las especificaciones de etiqueta de la plantilla de url anterior (1.4). Se modificaron para reflejar las nuevas (1.5) especificaciones, es decir, se incluyó el segundo parámetro entre comillas simples, en cada uno de los archivos html creados, para cada uno de los modelos.
  • Se actualizó urls.py principal con una include para el módulo app.urls .
  • Utilizo una configuración no estándar de settings.py: tres archivos separados common.py , dev.py y prod.py para mi configuración. Tenía que agregar la aplicación manualmente a las aplicaciones instaladas. YMMV.

(Editaré esta lista si pienso en otra cosa)

Dicho esto, teniendo en cuenta la cantidad de código repetitivo que NO tuve que escribir, diría que hace un muy buen trabajo.

A partir de ahora, el repo parece bastante bien mantenido: el último compromiso fue hace 18 días al momento de escribir esta respuesta. Probablemente enviaré una solicitud de extracción / plantearé un problema sobre los problemas que enfrenté en su repo, pronto.

¿Hay algún scaffolding adecuado para Django?

Puede estar en la versión 1.3 recién lanzada, pero todavía no la he encontrado.


Así que Django 1.3 aún carece de la funcionalidad ''andamio''. No está bien. Lo mejor en el andamio es que permite al desarrollador comenzar de inmediato con el proyecto, sin recordar todas las sintaxis de ''modelos'', ''urls'' y ''vistas''.

Mira este ejemplo, vamos a comenzar un nuevo proyecto y aplicación:

$django-admin startproject mysite $python manage.py startapp blog

y ahora necesitamos ''INICIAR'' manualmente todo, desde archivos casi vacíos. PERO sería muy conveniente hacerlo de esta manera (como en los rieles)

$python manage.py scaffold app:blog model:Post title:string content:text

Esto debería darnos: modelos.py

class Post(models.Model): title = models.CharField content = models.TextField

vistas.py

def index(request): posts = Post.objects.all().order_by(''-id'') return render_to_response(''blog/index.html'', {''posts'': posts})

y actualice urls.py de alguna manera, ... o no, esto es más complicado pero menos necesario.

Esto no debería ser difícil de implementar en futuras versiones de Django. Haría esto si tuviera suficiente conocimiento y experiencia en Django. Desafortunadamente no estoy haciendo muchos proyectos Django y es por eso que necesito esta funcionalidad.




He buscado y aún no he encontrado algo para Django como el comando Generar Rails. Django tiene una filosofía un poco diferente. Le brinda herramientas para hacer las cosas con facilidad, pero en realidad no lo hace por usted (excepto la interfaz de administrador). En el gran esquema de las cosas, creo que esto está bien. Cuando uso los andamios de los rieles, a menudo no puedo conservar gran parte de las cosas generadas automáticamente. Cuando lo haga, la interfaz de administración de django probablemente también habría funcionado y me hubiera dado más funcionalidad.

En su lugar, lo que sugiero es leer el paso 4 del tutorial de Django , que presenta vistas genéricas, y luego el capítulo 7 del libro de Django que presenta formularios. Tienes que ser paciente con el capítulo 7 porque los autores creen que quieres saber los detalles de la manera difícil antes de que te enseñen la manera más fácil. (intente buscar en la página la frase django.forms)

Al final, la cantidad de trabajo que tienes que hacer entre rieles y django es equivalente, y tal vez un poco menos con Django. Sin embargo, no tiene un comando que le dé automáticamente un código de caldera para usar como base.


Puede consultar django-addview . Está pensado para realizar pasos aburridos y mundanos necesarios para agregar una nueva vista automáticamente con una bonita interfaz gráfica de usuario de ncurses. Lo que hace por ti:

  • Extienda el CBV o escriba la función
  • Rellene los parámetros de CBV
  • Crea una plantilla en una ubicación determinada.
  • Edita urls.py para ti
  • Se preocupa por todas las importaciones

Revelación completa: lo escribí.