Frente también escribió acerca de la simple lógica de la relación entre la vista, modelos, módulos, dirección, y cada citados explica. Por lo general, ver las páginas Web más tendrá un inicio de sesión, hoy hemos aprendido anteriormente en la primera a través del contenido, escribir una simple página de inicio de sesión
requisitos de los documentos
Cuando probamos también los primeros en comprender que la demanda, nosotros aquí una primera demanda clara. Entró en una página de acceso para introducir la contraseña de cuenta correcto, ir directamente a la página tranquila blog, si la contraseña de cuenta es incorrecta, un error le pedirá la contraseña de la cuenta en la página de inicio de sesión falla. La demanda es muy simple, pero también el primero en tener la idea.
pensamiento
1, Escribir una entrada portada.
2, nombre de la cuenta se ha introducido correctamente juez
3, el nombre de la cuenta es correcta, entonces saltar directamente a la página del blog tranquila
4, nombre de la cuenta equivocada, entonces la contraseña de la cuenta de error pronta
helicóptero a pequeña escala
No hablamos mucho, pensamos dimos cuenta, puede comenzar a escribir
página de login
La última vez que escribió que el uso de una simple página de inicio de sesión (no escrito una tranquila front-end, Cou Cou es este, oeste, pelear, pelear, no mirar ~ ~)
nota:
1, aquí tenemos un nombre de usuario y la contraseña deben nombrar parámetros = 'xxx' más tarde, para el back-end;
2, < formulario acción = "/ inicioDeSesión2 /" Método, = "POST" > Aquí volvemos a la página de la página actual, si la contraseña es incorrecta, también en esta página, método de petición es POST
login2.html <! DOCTYPE html > < html lang = "en" > < cabeza > < meta charset = "UTF-8" > < título >首页</ título > </ cabeza > < cuerpo > < h1 > < p estilo = "text-align : center" tamaño de la fuente = "2" >欢迎来到安静的博客: </ p > </ h1 > < estilo = "text-align: center" >请输出账号密码: </ p > </ h1 > < forma acción = "/ inicioDeSesión2 /" método = "post" > {% csrf_token%} < p estilo = "en texto align: center" >用户: < entrada tipo = "" texto nombre = "" nombre de usuario /> < br /> </ p > < p estilo = "text-align: center" >密码: <de entrada tipo = "contraseña" nombre= "contraseña" /> < br /> < entrada tipo = "submit" valor = "登录" /> </ formar > </ cuerpo > </ html >
El juez derecha y contraseña de la cuenta equivocada
No hay ninguna base de datos añadida, contraseña de cuenta de la primera comunicación escrita muerto directamente. (Seguimiento continuará optimizando)
view.py
# módulo de redirección de importación, la página solicitada directamente desde django.shortcuts importación del render, redirigir DEF inicioDeSesión2 (Request): SI request.method == ' POST ' : nombre de usuario = request.POST.get ( ' nombre de usuario ' ) password = Request .POST.get ( ' contraseña ' ) # Analizar contraseña de la cuenta SI nombre de usuario == ' Anjing ' y la contraseña == ' 1234 ' : #Cuando debidamente devuelta a la página del blog tranquila, o el retorno a una página específica de retorno de redirección ( ' https://www.cnblogs.com/qican/ ' ) else : # contraseña es incorrecta no escribir Pass regresar el render (Solicitud, ' login2.html ' )
La correspondencia escrita entre el url
la urls.py de django.urls importación camino de Anjing importación ve # completa relación de correspondencia entre los urlpatterns = [ ruta ( ' inicioDeSesión2 / ' , views.login2), ]
Inicio directo de depuración de Django resultados exitosos de inicio de sesión
Podemos ver después de introducir la contraseña de la cuenta es correcta, vaya directamente a la tranquilidad del blog, y si falla el inicio de sesión, seguimos a permanecer en esta página.
La demanda se ha quedado con una contraseña de cuenta equivocado, el retorno inmediato, ¿cómo funciona esto get? Pensando que antecede, los datos de retorno front-end, podemos definir un parámetro clave en html, a continuación, se devuelve un error directamente
Añadir parámetros de error
En donde < P estilo = "color: red; text-align = izquierda: Centro" > {{}} ERROR_MSG </ P > significa el error contenido de la presentación
Cuando el formato de lenguaje de plantillas de Django: {{}} nombre de la variable
login2.html <! DOCTYPE html > < html lang = "en" > < cabeza > < meta charset = "UTF-8" > < título >首页</ título > </ cabeza > < cuerpo > < h1 > < p estilo = "text-align : center" tamaño de la fuente = "2" >欢迎来到安静的博客: </ p > </ h1 > < estilo = "text-align: center" >请输出账号密码: </ p > </ h1 > < forma acción = "/ inicioDeSesión2 /" método = "post" > {% csrf_token%} < p estilo = "en texto align: center" >用户: < entrada tipo = "" texto nombre = "" nombre de usuario /> < br /> </ p > < p estilo = "text-align: center" >密码: <de entrada tipo = "contraseña" nombre= "contraseña" /> < br /> < entrada tipo = "submit" valor = "登录" /> < p estilo = "color: red; text-align: center" > {{error_msg}} </ p > < / forma > </ cuerpo > </ html >
Ver también hay que añadir el contenido del error
la views.py de django.shortcuts importación del render, la redirección DEF inicioDeSesión2 (Request): # definen un error vacío ERROR_MSG = '' SI request.method == ' POST ' : nombre de usuario = request.POST.get ( ' nombre de usuario ' ) contraseña request.POST.get = ( ' contraseña ' ) # Analizar contraseña de la cuenta SI nombre de usuario == ' Anjing ' y la contraseña == ' 1234 ' : # Correcta vuelve a la página tranquila blog, o el retorno a una página específica de retorno de redirección ( ' https://www.cnblogs.com/qican/ ' ) else : # Si la contraseña de la cuenta de error es incorrecta directa ERROR_MSG = ' nombre de usuario o contraseña es incorrecta favor de escribir de ' devolver el render (petición, ' login2.html '{ ' ERROR_MSG ' : ERROR_MSG})
Reinicio Django, para ver el efecto de los fallos de conexión
Me dirijo a usted encontrará que nuestras necesidades de todo se han completado.
El nuevo conocimiento
Aquí la introducción de un nuevo punto de conocimiento es el módulo de redirección, que también se utiliza la parte delantera HttpResponse, render. Entonces, ¿cuál es la diferencia entre ustedes tres?
. 1, los escenarios de aplicación HttpResponse: Devuelve una cadena especificada
2, el render escenarios de aplicación: devuelve un archivo HTML
3, escenarios de aplicación de redirección: Para ir a una página específica