python django简单的登陆实现


实现方法:

1,可以先定义一个基础的页面访问路径 例如:http://127.0.0.1:8000/index/  定义index路径

在urls

1 urlpatterns = [
2
3     url(r‘^index/$‘, views.index),
4
5 ]

2,同时也需要创造一个index.html页面

<html xmlns="http://www.w3.org/1999/html">
<head>
    <meta http-equiv="content-type" content="text/html;charset=utf-8"/>

    <title>登陆页面</title>
</head>
<body>
<form method="post" action="/login_action/">                                   <!--创造一个表单,用于数据提交,并且使用post方式提交表单,同时定义为login_action(登陆)过程-->
    <input  name="username" type="text" placeholder="用户名"><br>         <!--input标签定义文本框,数据类型-->
    <input  name="password" type="password" placeholder="密码"><br>
    {{error}}<br>                                    <!--这里的双大括号可以用于显示函数所指定的内容-->
    <button id="btn" type="submit">登陆</button>
    {% csrf_token %}                                                     <!--为了防止csrf攻击-->

</form>
</body>
</html>

3,需要一个将url和html连接起来的函数

定义views.py

 1 from django.shortcuts import render
 2 from django.http import HttpResponse
 3 from django.http import HttpResponseRedirect                                #这三个模块为常用模块
 4 # Create your views here.
 5
 6 def index(request):
 7     return render(request, ‘index.html‘)
 8 def login_action(request):
 9     if request.method == ‘POST‘:                                            #判断是否为post提交方式
10         username = request.POST.get(‘username‘, ‘‘)                         #通过post.get()方法获取输入的用户名及密码
11         password =request.POST.get(‘password‘, ‘‘)
12
13         if username == ‘admin‘ and password == ‘123‘:                 #判断用户名及密码是否正确
14             return HttpResponseRedirect(‘/event_manage/‘)                #如果正确,(这里调用另一个函数,实现登陆成功页面独立,使用HttpResponseRedirect()方法实现
15         else:
16             return render(request,‘index.html‘,{‘error‘:‘username or password eror‘})#不正确,通过render(request,"index.html")方法在error标签处显示错误提示
17
18 def event_manage(request):                                                            #该函数定义的是成功页面的提示页面
19
20     #username =request.COOKIES.get(‘user‘, ‘‘) #读取浏览器cookie
21     return render(request,"event_manage.html") #{"user":username})              #在上面的函数判断用户名密码正确后在显示该页面,指定到event_manage.html,切换到一个新的html页面

使用到的方法包括

render()

POST.get()

HttpResponseRedirect()
HttpResponse()

熟悉它们的使用

  login_action()函数,对应index.html中定义的表单的提交过程,我们在这个过程中提交数据并且判断数据,

event_manage()函数用于打开新的html页面

5,创造成功页面event_manage.HTML

<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <title>成功</title>
</head>
<body>
    <h1>你好,入侵者</h1>

</body>
</html>

在views.py 中定义的函数都应该在urls.py 中定义路径路径名称可以自定,但要与函数名称对应,这里为了与相应的功能对应

6,定义上面的两个函数的路径

urlpatterns = [

    url(r‘^index/$‘, views.index),
    url(r‘^login_action/$‘, views.login_action),   #登陆过程
    url(r‘^event_manage/$‘, views.event_manage),   #成功的页面

]

总结一下这整个流程

首先,我们通过http://127.0.0.1:8000/index/访问基础登陆页面

输入用户名密码,点击提交按钮,这一过程(login_action)调用login_action()函数{并且跳转到http://127.0.0.1:8000/login_action/}——————进行判断----------正确---------立马跳转到http://127.0.0.1:8000/event_manage/  ,并且显示event_manage.html.

整个实现过程

首先创造一个路径,相应的html页面

然后通过一个函数将他们捆绑到一起

实现表单内容提交的过程再定义一个函数用于处理数据,又定义一个函数,用于指定跳转到其它 的页面

总之,在views.py 中定义的是处理html中各种数据处理,数据判断,页面的跳转

同时定义的这些函数都是各个过程方法的链接,也应该在urls.py中创造这些路径

时间: 2024-10-11 18:17:04

python django简单的登陆实现的相关文章

django简单用户登陆验证

一.django简单用户登陆验证   前端页面:     <div class="container  col-lg-6  col-lg-offset-4">         <br><br><br><br><br>       <form class="form-signin col-sm-4 col-lg-offset-2" action="{% url 'login' %}

python django简单操作

准备: pip3 install  django==1.10.3 cmd django-admin startproject  guest  创建一个guest的项目 cd guest manage.py 查看各种manage的命令 manage.py startapp sign 创建一个应用 manage.py runserver启动这个应用,默认127.0.0.1:8000 1.将sign 加入到guest/settings.py文件 INSTALLED_APPS中,配置/guest/url

CentOS6.5环境下Python + Django + MySQL + eclipse开发web环境搭建的简单方法

这几天跟Linux下的Python + Django环境搭建卯上了.经过几天的琢磨,找到了一条自己认为给力的路径. 这里给出命令行,过程如下: 首次登陆,切换管理员: [[email protected] ~]$ suPassword: 查看当前的版本:[[email protected] web]# pythonPython 2.6.6 (r266:84292, Nov 22 2013, 12:11:10) [GCC 4.4.7 20120313 (Red Hat 4.4.7-4)] on l

python编写简单的html登陆页面(3)

1  在python编写简单的html登陆页面(2)的基础上在延伸一下: 可以将静态分配数据,建立表格,存放学生信息 2  加载到静态数据 3  html的编写直接在表格里添加一组数据就行了 4  VS Code上面跟前面的后台类似,添加一个content再链接到html就可以了 @app.route('/content')def content(): return render_template('content.html') return 'content.....'

python编写简单的html登陆页面(2)

1  在python编写简单的html登陆页面(1)的基础上在延伸一下: 可以将动态分配数据,实现页面跳转功能: 2  跳转到新的页面:return render_template('home1.html') 3  后台代码如下 4  前端html:

Python django实现简单的邮件系统发送邮件功能

Python django实现简单的邮件系统发送邮件功能 本文实例讲述了Python django实现简单的邮件系统发送邮件功能. django邮件系统 Django发送邮件官方中文文档 总结如下: 1.首先这份文档看三两遍是不行的,很多东西再看一遍就通顺了.2.send_mail().send_mass_mail()都是对EmailMessage类使用方式的一个轻度封装,所以要关注底层的EmailMessage.3.异常处理防止邮件头注入.4.一定要弄懂Email backends 邮件发送后

python+django实现的简单的表单验证源码

下面的内容段是关于python+django实现的简单的表单验证的内容,应该能对大伙也有用途. <html> <head> <title>Form validation example</title> <link rel="stylesheet" type="text/css" href="{{ STATIC_URL }}css/bootstrap.css"> </head>

使用 Visual Studio Code(VSCode)搭建简单的 Python + Django 开发环境

写在前面的话 作为有个 Python 菜逼,之前一直用的 Pycharm,但是在主题这一块怎么调整都感觉要么太骚,看起来不舒服,要么就是简直不能看.似乎用大 JB 公司 IDE 的人似乎都不怎么重视主题这个东西. 我个人是那种“喜新厌旧”的,所以看久了 Pycharm 就感觉很难受了,再加上 Pycharm 太笨重了,就换成了以前短时间用过的 VSCode,以前没用是懒得折腾插件,现在闲下来准备折腾一下! 这里放一张我现在的 Pycharm 的配色主题: 闲话少说,进入正题! 创建 Django

python Django教程 之模板渲染、循环、条件判断、常用的标签、过滤器

python3.5 manage.py runserver python Django教程 之模板渲染.循环.条件判断.常用的标签.过滤器 一.Django模板渲染模板 注: 本节代码是基于 Django 1.8,但 Django 1.4 - Djagno 1.9 操作流程也是一样的. 后文给出示例代码可以在 Django 1.4.x 到 Django 1.9.x 上运行. 不过还是强调一点,一点要动手敲代码!不要偷懒哦,动手才能学到真东西. 1. 创建一个 zqxt_tmpl 项目,和一个 名