Foros del Web » Programando para Internet » Python »

[Django] Tutoriales - Duda - Sistema de login

Estas en el tema de [Django] Tutoriales - Duda - Sistema de login en el foro de Python en Foros del Web. Hola, estaba siguiendo unos tutoriales sobre django de youtube, https://www.youtube.com/watch?v=NTMG...lISeAx&index=9 y al copiar el codigo me doy cuenta de que utiliza la cuenta que cree ...
  #1 (permalink)  
Antiguo 26/11/2013, 17:52
 
Fecha de Ingreso: septiembre-2013
Mensajes: 125
Antigüedad: 10 años, 7 meses
Puntos: 3
[Django] Tutoriales - Duda - Sistema de login

Hola, estaba siguiendo unos tutoriales sobre django de youtube, https://www.youtube.com/watch?v=NTMG...lISeAx&index=9

y al copiar el codigo me doy cuenta de que utiliza la cuenta que cree para la base de dato (SQLite, comando: python manage.py syncdb).

He creado una nueva tabla en mysql llamada login donde esta los campos donde quiero que se registren e inicien session.

Para hacer eso necesitare consultas a la base de dato que en el video nose porque no sale.

¿Como haria las consultas? SELECT, INSERT INTO, UPDATE, DELETE, ETC...

Muchas gracias
  #2 (permalink)  
Antiguo 26/11/2013, 19:14
Avatar de razpeitia
Moderador
 
Fecha de Ingreso: marzo-2005
Ubicación: Monterrey, México
Mensajes: 7.321
Antigüedad: 19 años, 1 mes
Puntos: 1360
Respuesta: [Django] Tutoriales - Duda - Sistema de login

Es porque esto no es PHP.

Y porque usan un ORM que se encargue de todo eso.

`manage.py syncdb` crea la db, puedes usar `manage.py sqlall` para ver todo el sql que ejecuta para crear las tablas.

Usar el ORM es bastante fácil y no requieres conocimientos de SQL (pero son preferibles).
  #3 (permalink)  
Antiguo 26/11/2013, 22:52
Avatar de Carlangueitor
Moderador ლ(ಠ益ಠლ)
 
Fecha de Ingreso: marzo-2008
Ubicación: México
Mensajes: 10.037
Antigüedad: 16 años, 1 mes
Puntos: 1329
Respuesta: [Django] Tutoriales - Duda - Sistema de login

Te recomiendo ampliamente que antes de que continúes con tu proyecto leas y sigas todo el tutorial de Django. Te ayudará aa entender como funciona un poco.


Saludos
__________________
Grupo Telegram Docker en Español
  #4 (permalink)  
Antiguo 27/11/2013, 01:39
 
Fecha de Ingreso: septiembre-2013
Mensajes: 125
Antigüedad: 10 años, 7 meses
Puntos: 3
Respuesta: [Django] Tutoriales - Duda - Sistema de login

Estoy siguiendolo.
Entonces no hace falta consultas a la db
  #5 (permalink)  
Antiguo 27/11/2013, 01:51
Avatar de Carlangueitor
Moderador ლ(ಠ益ಠლ)
 
Fecha de Ingreso: marzo-2008
Ubicación: México
Mensajes: 10.037
Antigüedad: 16 años, 1 mes
Puntos: 1329
Respuesta: [Django] Tutoriales - Duda - Sistema de login

Efectivamente, en la mayoría de los casos todo lo hace el ORM en automático. Y tampoco tienes que crear las tablas, ya lo hace con Syncdb.


Saludos
__________________
Grupo Telegram Docker en Español
  #6 (permalink)  
Antiguo 27/11/2013, 02:37
 
Fecha de Ingreso: septiembre-2013
Mensajes: 125
Antigüedad: 10 años, 7 meses
Puntos: 3
Respuesta: [Django] Tutoriales - Duda - Sistema de login

Pero yo no utilizo Syncdb, porque si no se me crea las tablas del /admin/ yo utilizo MySQL

¿Si quiero por ejemplos solo mostrar los 10 ultimos como seria? LIMIT 10 son en las sentencias

Porque si por ejemplo para iniciar session tiene que ingresar su correo, su contraseña y la fecha en la que se registro (Ejemplo) entonces como haces para verificar que la fecha es correcta? Necesitarias una sentencia

"SELECT fecha FROM user WHERE email = '".request.POST['fecha']."'"

Última edición por Strings; 27/11/2013 a las 02:45
  #7 (permalink)  
Antiguo 27/11/2013, 02:50
Avatar de Carlangueitor
Moderador ლ(ಠ益ಠლ)
 
Fecha de Ingreso: marzo-2008
Ubicación: México
Mensajes: 10.037
Antigüedad: 16 años, 1 mes
Puntos: 1329
Respuesta: [Django] Tutoriales - Duda - Sistema de login

¿Por que demonios no vas a usar el syncdb? Si no quieres el admin quilato de las aplicaciones instaladas.

Y por enésima vez, NO TRATES DE HACER LAS COSAS COMO LAS HACÍAS EN PHP.

Luego, siempre que haya duda revisar la documentación, en este caso, revisa esto: https://docs.djangoproject.com/en/1....ting-querysets

Y deja de pensar en SQL, y lee sobre el ORM de Django (links anteriores).

Saludis
__________________
Grupo Telegram Docker en Español
  #8 (permalink)  
Antiguo 27/11/2013, 02:56
 
Fecha de Ingreso: septiembre-2013
Mensajes: 125
Antigüedad: 10 años, 7 meses
Puntos: 3
Respuesta: [Django] Tutoriales - Duda - Sistema de login

Cita:
En segundo lugar, ejecutar python manage.py syncdb. Este paso permitirá instalar las tablas extra de base de datos que utiliza el interfaz de administración. La primera vez que ejecute syncdb con ‘django.contrib.auth’ en INSTALLED_APPS, se le preguntará sobre la creación de un super-usuario. Si usted no hace esto, tendrá que para ejecutar python manage.py createsuperuser por separado para crear una cuenta de usuario administrador, de lo contrario usted no será capaz de entrar en el sitio de administración.
Yo no quiero entrar al administrador, ya tengo instalado MySQL
  #9 (permalink)  
Antiguo 27/11/2013, 03:02
Avatar de Carlangueitor
Moderador ლ(ಠ益ಠლ)
 
Fecha de Ingreso: marzo-2008
Ubicación: México
Mensajes: 10.037
Antigüedad: 16 años, 1 mes
Puntos: 1329
Respuesta: [Django] Tutoriales - Duda - Sistema de login

De todas formas, hazme caso, si 'django.contrib.admin', no está en INSTALED_APPS no se crean las tablas de esa aplicación. Lee la documentación oficial de que hace syncdb: https://docs.djangoproject.com/en/1....-admin/#syncdb


Y no importa la base de datos que uses.
__________________
Grupo Telegram Docker en Español
  #10 (permalink)  
Antiguo 27/11/2013, 08:50
 
Fecha de Ingreso: septiembre-2013
Mensajes: 125
Antigüedad: 10 años, 7 meses
Puntos: 3
Respuesta: [Django] Tutoriales - Duda - Sistema de login

Entonces no puedo utilizar las tablas que yo cree, sino las de syncdb
tengo que activar django.contrib.admin para que se creen esas tablas o no?

Última edición por Strings; 27/11/2013 a las 09:11
  #11 (permalink)  
Antiguo 27/11/2013, 14:32
Avatar de Carlangueitor
Moderador ლ(ಠ益ಠლ)
 
Fecha de Ingreso: marzo-2008
Ubicación: México
Mensajes: 10.037
Antigüedad: 16 años, 1 mes
Puntos: 1329
Respuesta: [Django] Tutoriales - Duda - Sistema de login

¿Para que quieres crear tu las tablas?

Si quieres el admin activalo en INSTALED_APPS, si no, pues creo que es obvio lo que tienes que hacer.

Saludos
__________________
Grupo Telegram Docker en Español
  #12 (permalink)  
Antiguo 27/11/2013, 15:03
Avatar de razpeitia
Moderador
 
Fecha de Ingreso: marzo-2005
Ubicación: Monterrey, México
Mensajes: 7.321
Antigüedad: 19 años, 1 mes
Puntos: 1360
Respuesta: [Django] Tutoriales - Duda - Sistema de login

Ok, mira esto no PHP.

En PHP a secas este es el flujo que sigues:
1. Modelar tu DB (Creas tu propio esquema, con tablas, fk, pk, etc.. todo hecho a mano por ti)
2. Usas mysql_* (en el mejor caso PDO) para hacer queries, SELECT, INSERT, UPDATE, DELETE, etc...
3. Suponiendo que tienes modelados tus objetos, una vez hecho lo del paso 2, tratas de adaptarlo a tus objetos. O en el peor de los casos usas los datos así a secas directo del query.

No puedo decir que ese flujo esta mal, porque si cumple su trabajo esta bien. Pero el problema con este arcaico flujo es que simplemente no es mantenible, repites mucho código, es propenso a tener errores y generalmente terminas haciendo un batido de código, con html, js, css, php y sql en muchos lugares.

Ademas, pierdes todo el punto de porque iniciaste. Lo único que quieres hacer es guardar y leer los objetos que modelaste. Así de simple.

Django (en general, cualquier web framework decente) separa los conceptos (ver MVC).

Por ejemplo en django tu no vas y creas el SQL a mano (no en la creación de tablas, ni en SELECT, UPDATE, INSERT, etc...).

Lo que haces es crear modelos y esos modelos pasan a una o mas tablas.

Ejemplo
Código Python:
Ver original
  1. # models.py
  2. from django.db import models
  3.  
  4. class Persona(models.Model):
  5.     nombre = models.CharField(max_length=100)
  6.     apellidos = models.CharField(max_length=200)
  7.     nacimiento = models.DateField()

Y en tu vista
Código Python:
Ver original
  1. #views.py
  2. from .models import Persona
  3. ...
  4. # En algun lugar de tu vista
  5. # Obtienes todas las personas
  6. Persona.objects.all()
  7. # Obtienes las primeras 10 personas
  8. Persona.objects.all()[:10]
  9. # Creas una persona y la guardas
  10. juan = Persona(nombre="Juan", apellidos="Ochoa Perez", nacimiento=date(1990, 1, 1))
  11. juan.save()
  12. # Actualizando el objeto y lo guardamos
  13. juan.nombre = "Juan Jose"
  14. juan.save()

En la documentación esta muy bien explicado como funciona cada una de las partes del framework. Lamentablemente en español hay tan poco material (y encima desacualizado).

Screencasts como los de dev.la, (si vi algunos videos), están pobremente explicados porque solo hacen uso de las cosas del framework y no explican los fundamentos de que, como y porque funcionan así cada uno de los componentes. Ademas que no manejan un panorama general. Ni se meten en detalles. (Mas bien parece un mirenme, se hacer Internets).

Si estas interesado por un curso en español. Tal vez te interese esto.
https://mejorando.la/cursos/backend-online
Inician el febrero 2014
  #13 (permalink)  
Antiguo 27/11/2013, 16:25
 
Fecha de Ingreso: septiembre-2013
Mensajes: 125
Antigüedad: 10 años, 7 meses
Puntos: 3
Respuesta: [Django] Tutoriales - Duda - Sistema de login

Ya entendi como hacer para crear, editar cosas de la db.
Y una pequeña duda, si quiero crear un sistema de noticias, en que tabla se tendria que guardar el contenido?

El curso de Django cuesta dinero

Última edición por Strings; 27/11/2013 a las 16:32
  #14 (permalink)  
Antiguo 27/11/2013, 16:37
Avatar de Carlangueitor
Moderador ლ(ಠ益ಠლ)
 
Fecha de Ingreso: marzo-2008
Ubicación: México
Mensajes: 10.037
Antigüedad: 16 años, 1 mes
Puntos: 1329
Respuesta: [Django] Tutoriales - Duda - Sistema de login

De nuevo, tu no tienes por que hacer tablas.

Y sí, el trabajo de la gente suele costar dinero.
__________________
Grupo Telegram Docker en Español
  #15 (permalink)  
Antiguo 27/11/2013, 16:51
 
Fecha de Ingreso: septiembre-2013
Mensajes: 125
Antigüedad: 10 años, 7 meses
Puntos: 3
Respuesta: [Django] Tutoriales - Duda - Sistema de login

No, yo no hago la tabla pero se tendra que guardar en algun sitio
  #16 (permalink)  
Antiguo 27/11/2013, 17:01
Avatar de Carlangueitor
Moderador ლ(ಠ益ಠლ)
 
Fecha de Ingreso: marzo-2008
Ubicación: México
Mensajes: 10.037
Antigüedad: 16 años, 1 mes
Puntos: 1329
Respuesta: [Django] Tutoriales - Duda - Sistema de login

¿Has leído los enlaces que te hemos pasado? Obviamente no.


syncdb, hace eso, crea las tablas de los modelos.
__________________
Grupo Telegram Docker en Español
  #17 (permalink)  
Antiguo 27/11/2013, 17:29
 
Fecha de Ingreso: septiembre-2013
Mensajes: 125
Antigüedad: 10 años, 7 meses
Puntos: 3
Respuesta: [Django] Tutoriales - Duda - Sistema de login

Si lo he leido, ya sabia que lo creaba pero como se llama la tabla donde iria? la tabla de user se llama auth_usee pero para un sistema de noticias, en que tabla iran las noticias?
  #18 (permalink)  
Antiguo 27/11/2013, 17:32
Avatar de razpeitia
Moderador
 
Fecha de Ingreso: marzo-2005
Ubicación: Monterrey, México
Mensajes: 7.321
Antigüedad: 19 años, 1 mes
Puntos: 1360
Respuesta: [Django] Tutoriales - Duda - Sistema de login

Flujo de trabajo (en la parte de modelos) en django:

Creas tus modelos en models.py
manage.py syncdb, esto creara tus tablas
Usas tus modelos donde necesites

Así de simple. Me encantaría poder dirigirte a algún buen material gratis en español, pero no lo hay.

Y si, solamente tienes 2 alternativas, sabes lo suficiente para leer en Ingles y comprender la documentación (fijate que poder leer Ingles es diferente a que lo puedas entender). O tienes dinero para pagar otros materiales que puedas comprender.

Si no tienes ninguna de los 2 entonces, tienes un largo camino por recorrer.
  #19 (permalink)  
Antiguo 27/11/2013, 17:38
Avatar de Carlangueitor
Moderador ლ(ಠ益ಠლ)
 
Fecha de Ingreso: marzo-2008
Ubicación: México
Mensajes: 10.037
Antigüedad: 16 años, 1 mes
Puntos: 1329
Respuesta: [Django] Tutoriales - Duda - Sistema de login

Strings, ¿que importa el nombre de la tabla? Para fines realmente prácticos no se usa. En todo caso lee la documentación:

https://docs.djangoproject.com/en/de...s/#table-names
__________________
Grupo Telegram Docker en Español
  #20 (permalink)  
Antiguo 30/11/2013, 08:18
 
Fecha de Ingreso: septiembre-2013
Mensajes: 125
Antigüedad: 10 años, 7 meses
Puntos: 3
Respuesta: [Django] Tutoriales - Duda - Sistema de login

Creeis que este es un buen tutorial http://mundogeek.net/tutorial-python/?
  #21 (permalink)  
Antiguo 30/11/2013, 16:06
Avatar de razpeitia
Moderador
 
Fecha de Ingreso: marzo-2005
Ubicación: Monterrey, México
Mensajes: 7.321
Antigüedad: 19 años, 1 mes
Puntos: 1360
Respuesta: [Django] Tutoriales - Duda - Sistema de login

Si, regularmente recomiendo 2 libros dive into python (inmersión en python) y python para todos.
  #22 (permalink)  
Antiguo 30/11/2013, 16:58
 
Fecha de Ingreso: septiembre-2013
Mensajes: 125
Antigüedad: 10 años, 7 meses
Puntos: 3
Respuesta: [Django] Tutoriales - Duda - Sistema de login

Y para aprender Django, ¿Que tutorial me recomiendas?
  #23 (permalink)  
Antiguo 30/11/2013, 17:23
Avatar de razpeitia
Moderador
 
Fecha de Ingreso: marzo-2005
Ubicación: Monterrey, México
Mensajes: 7.321
Antigüedad: 19 años, 1 mes
Puntos: 1360
Respuesta: [Django] Tutoriales - Duda - Sistema de login

Django book es su momento fue genial, pero ahora se ha quedado desactualizado. Esta en ingles y es gratis.
http://www.djangobook.com/en/2.0/index.html

Two Scoops of Django https://django.2scoops.org/ este libro es genial. Pero no es gratis, esta en ingles y necesitas tener conocimiento de django no para principiantes.

Simplemente la documentación de django es más que suficiente. https://docs.djangoproject.com/en/dev/

Si quieres algo gratis y en español no hay nada que pueda recomendar.

En español existe este curso https://mejorando.la/cursos/backend-online el cual si te podría recomendar porque te enseñan django, node.js y algo de NoSQL. El curso necesitas pagar.
  #24 (permalink)  
Antiguo 01/12/2013, 02:43
 
Fecha de Ingreso: septiembre-2013
Mensajes: 125
Antigüedad: 10 años, 7 meses
Puntos: 3
Respuesta: [Django] Tutoriales - Duda - Sistema de login

En internet encontre estos tutoriales:

2Scoops of Django (Borrado por material con copyright)
http://tutorialdjango.com.ar/
http://www.youtube.com/playlist?list...ocCZphaasx-eIC
http://bibing.us.es/proyectos/abrepr...bro-django.pdf
http://effectivedjango.com/latex/EffectiveDjango.pdf

¿Alguna vez utilizastes alguno?

Última edición por razpeitia; 01/12/2013 a las 16:37
  #25 (permalink)  
Antiguo 01/12/2013, 16:53
Avatar de razpeitia
Moderador
 
Fecha de Ingreso: marzo-2005
Ubicación: Monterrey, México
Mensajes: 7.321
Antigüedad: 19 años, 1 mes
Puntos: 1360
Respuesta: [Django] Tutoriales - Duda - Sistema de login

El primer link de 2scoops of django fue el que mencione arriba.

El segundo es una traducción del tutorial de la documentación de django (también mencionada arriba).

El tercero es una serie de vídeos con una super mini introducción a django. Que fueron los primeros vídeos de dev.la. (Ya sabes mi opinión al respecto allá arriba).

El cuarto es una traducción de la primera versión del django book, bastante desactualizada.

El ultimo link es la versión en pdf de http://effectivedjango.com/, la cual es bastante corta. Lo recomiendo para cuando quieras dar un repaso rápido y al menos cuando ya tengas aprendido lo básico. Si lo lees veras que el ritmo va un poco rápido y no te dice a detalle que esta pasando de fondo.

Si quieres saber como aprendí, el camino es relativamente fácil.
Requisitos: Python e Ingles.

Django Book
Practicar por mucho tiempo y checar la documentación en caso de dudas
2Scoops of Django
Practicar por mucho tiempo y leer el repo de django, la documentación parecía ya no ser suficiente.

Obviamente esto no paso de la noche a la mañana, tomo años. De hecho el pequeño tutorial fallido de django http://www.forosdelweb.com/f130/apor...uccion-918800/ lo inicie cuando termine de leer django book en 2011.

Obviamente no me centre solamente en django todos esos años.
  #26 (permalink)  
Antiguo 02/12/2013, 19:18
Avatar de jhg
jhg
 
Fecha de Ingreso: marzo-2012
Mensajes: 96
Antigüedad: 12 años, 1 mes
Puntos: 1
Respuesta: [Django] Tutoriales - Duda - Sistema de login

Aunque como ya te han dicho, no necesitas saber el nombre de la tabla para usar el modelo, por lo que se es una combinacion del nombre de app y el nombre de modelo, en los casos más simples, si hay más tablas, por ejemplo apra el many to many, el nombre incluye ambos modelos, y cosas por el estilo, generalmente si miras las tablas y conoces tus app y modelos los reconoces facilmente porque es intuitivo el nombre.

Me ha gustado la frase de Carlangueitor de que el trabajo de la gente suele costar dinero, me recordo la aclaracion de "free software (free as in freedom)", efectivamente el trabajo merece que sea recompensado, y si algo te es util aunque sea gratis esta bien si donas en la medida de tus posibilidades.

Y para aprender Django, aparte de foros como este, y documentación traducida al español, yo te recomiendo la oficial y abrir otra pestaña con un traductor, yo hago así, lo leo, lo trato de comprender y si en algo no lo entiendo o aunque lo entienda me cuesta busco las palabras en el traductor o traduzco la frase para así ayudarme, y tendras la documentación más actualizada además de practicar otro idioma, con lo que aprendes el doble. Además que en la documentación oficial puedes ver que ha quedado en deshuso a partir de x versión, cambios futuros a partir de que versión, etc.
__________________
JHG
  #27 (permalink)  
Antiguo 03/12/2013, 15:28
 
Fecha de Ingreso: septiembre-2013
Mensajes: 125
Antigüedad: 10 años, 7 meses
Puntos: 3
Respuesta: [Django] Tutoriales - Duda - Sistema de login

Gracias a todo, lo malo de Django que hay pocos tutoriales.
  #28 (permalink)  
Antiguo 03/12/2013, 17:20
Avatar de razpeitia
Moderador
 
Fecha de Ingreso: marzo-2005
Ubicación: Monterrey, México
Mensajes: 7.321
Antigüedad: 19 años, 1 mes
Puntos: 1360
Respuesta: [Django] Tutoriales - Duda - Sistema de login

En Ingles hay mucho mas tutoriales.

Pero en mi opinión personal es mejor de este modo. Así no llega cualquiera a copiar y pegar scripts y decir que sabe X lenguaje.

O comprar hosting compartido y hacer webs como se hacían en los 90s.

Etiquetas: creado, django, gui, login, sistema, tutoriales
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta




La zona horaria es GMT -6. Ahora son las 12:19.