Uso de Django para páginas html existentes y uso de mi propio formular

Uso de Django para páginas html existentes y uso de mi propio formulario de inicio de sesión

Tengo un sitio web bastante simple, que consta de algunos cursos en línea. Todo lo que necesito en el backend es un sistema de inicio de sesión y usarlo para restringir el acceso a los cursos. Ya hice el trabajo de interfaz, las páginas html están listas. Quiero intentar usar Django, pero cuando estaba mirando tutoriales para configurar un sistema de inicio de sesión, todos usaban la vista de inicio de sesión predeterminada, que es muy simple. Tengo un formulario de inicio de sesión modal en mi sitio web (el inicio de sesión aparece en el índice .html en sí mismo, no una página separada login.html).

¿Cómo puedo usar el aspecto de mi formulario de inicio de sesión con Django para crear un inicio de sesión seguro? ¿Usar Django sería demasiado complicado? ¿Debería usar PHP en su lugar? Soy nuevo tanto en PHP como en Django (aunque conozco Python).

Mostrar la mejor respuesta

¿Qué quiere decir con "usar el aspecto del formulario de inicio de sesión con Django para crear un inicio de sesión seguro?"

Como en, usando el css y html que ya he escrito para mi cuadro de inicio de sesión, en lugar de usar la vista de inicio de sesión de django, que es muy simple. Sin embargo, obviamente todavía quiero que el formulario de inicio de sesión personalizado sea tan seguro como la plantilla de django predeterminada.

Está buscando una plantilla de inicio de sesión de Django personalizada (en su caso, ya existe en el index.html). Dado que muchos usuarios tienen que resolver este tipo de tareas, existe una funcionalidad estándar para ello.

  1. Usted configura sus rutas de URL para los sistemas de inicio y cierre de sesión (no solo en la configuración de URL sino también en settings.py para redirecciones, etc.). Para ver un ejemplo específico, consulte el enlace al final.
  2. Usted integra y ajusta su index.html como una plantilla de inicio de sesión personalizada. Eche un vistazo al manual de Django en formularios)

Y luego está listo, si ya configuró toda la infraestructura de usuario en Django. Si necesita un ejemplo específico, consulte esto.

Opinión personal

No uses PHP, solo ve hasta el final con Django. Probablemente no sea fácil para usted migrar toda su página al principio, pero valdrá la pena poco después. Django no solo es mucho más rápido y seguro que PHP, sino que también es muy fácil de mantener después de la configuración.

¡Gracias! Sí, es por eso que dudo sobre PHP: será más fácil de integrar, pero al final, Django es menos complicado. Además, ¿qué debo hacer si también quiero solicitar el nombre del usuario durante el registro?

Como no se proporciona un formulario de registro predeterminado, puede utilizar su propio formulario de registro/registro. Simplemente cree un formulario dentro de Django y agregue su valor. Aquí hay una implementación de ejemplo por eso.

¿Y qué tendría que hacer para que los formularios sean seguros? ¿Tengo que hacer algo más además de usar {% csrf_token %}? ¿Qué pasa con la inyección sql?

Django evita principalmente las inyecciones de SQL, ya que interpreta las declaraciones de python individualmente para cada base de datos conectada. Eche un vistazo aquí para obtener más información. Para más preguntas, agregue una pregunta separada. :)

El consejo de que Django es "más seguro que PHP" es completamente incorrecto. No puede comparar un marco (Django) con un lenguaje (PHP); la comparación sería con algo como Symfony, un marco PHP. Y no hay nada intrínsecamente menos seguro con PHP o sus marcos; hasta cierto punto, importa cuánto análisis de seguridad se realiza en el marco. Sin embargo, el mayor contribuyente a los problemas de seguridad es el implementador de la aplicación, independientemente de si está usando un marco de trabajo, puede pegarse un tiro en el pie en cualquier idioma.