Django Django --- Caso de inicio de sesión

  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

 

Supongo que te gusta

Origin www.cnblogs.com/qican/p/12455622.html
Recomendado
Clasificación