Python实现注册登录系统

yipeiwu_com7年前Python基础

  表单在网页中主要负责数据采集功能。一个表单有三个基本组成部分: 表单标签:这里面包含了处理表单数据所用CGI程序的URL以及数据提交到服务器的方法。 表单域:包含了文本框、密码框、隐藏域、多行文本框、复选框、单选框、下拉选择框和文件上传框等。 表单按钮:包括提交按钮、复位按钮和一般按钮;用于将数据传送到服务器上的CGI脚本或者取消输入,还可以用表单按钮来控制其他定义了处理脚本的处理工作。而在HTML里面,在地址栏输入一个URL然后打开,这样发送的是一个get请求,若是要使用POST请求,就需要使用表单了。

HTML中的表单就是由form的标签来声明的,举个栗子:

<form action="login" method="post"> 
 <label>username:</label> 
 <input type="text" name="username"><br /> 
 <label>password:</label> 
 <input type="password" name="password"><br /> 
 <input type="submit" name="submit"> 
<form> 

        上面代码中,由form标签包含的部分便是表单的内容,其中关注其中的input部分,这个表单中有三个input,一个是text类型的,代表普通的文本输入,一个是password类型的,代表密码输入,一个是submit类型的,是一个提交的按钮;form标签定义了两个属性,一个是action,代表这个表单提交的路径,一个是method,代表这个表单提交的方法,缺省为GET。接下来详细说明一下上述例子的具体过程,当用户点下submit的按钮的时候,这时候浏览器就向action的路径发送了一个POST请求,请求的内容是下面这个样子的

data = { 
 'username':'XXXXXXXX', 
 'password':'XXXXXXXX' 
} 

         就是将各个除了submit之外的input的name作为key值,实际填写的数据作为value值作为数据包,发送了一个POST请求,当然,如果吧method改为get的话,那么发送的就是GET请求了。接下来,服务器所接收到的的请求数据就跟从客户端程序那边发过来的数据是一样的了,接下来就是根据发送过来的数据,做对应的处理然后返回了。

        有了上述知识之后,我们就开始做一个简单的注册登录系统。我们做的注册登录系统是有注册功能和登录功能,注册后服务器将注册信息存储到本地,登录时验证注册消息是否正确。web.py里面有一些template里面已经有了一些支持,具体代码如下:

# -*- coding: cp936 -*- 
import web 
import os 
 
urls = ( 
 '/', 'hello', 
 '/login', 'login', 
 '/regist', 'regist' 
) 
app = web.application(urls, globals()) 
class hello: 
 def __init__(self): 
  self.render = web.template.render('templates/') 
 def GET(self): 
  return self.render.form() 
 
 
class login: 
 def POST(self): 
  para = web.input() 
  username = para['username'] 
  password = para['password'] 
 
  #TODO:... 
  #if authenticate(username,password): 
   #return render.hello(username) 
  return 'hello world' 
 
class regist: 
 def GET(self): 
  return 'hello world' 
  #return self.render.form() 
 def POST(self): 
  para = web.input() 
  username = para['username'] 
  password = para['password'] 
 
  #TODO:... 
  return 'hello world' 
 
if __name__ == '__main__': 
 app.run() 

       运行效果如下挫图:想要自己搞得美观一点,可以自己找一些相关资料!这个实现的就是输入密码,返回值。你可以看到没有本地保存,是的,这就是给你在TODO那里留的坑!然后密码匹配什么的把上面的login类那里的注释去掉即可!


       随便输入用户名密码可得:

以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持【听图阁-专注于Python设计】。

相关文章

Python设计模式之单例模式实例

注:使用的是Python 2.7。 一个简单实现复制代码 代码如下:class Foo(object):    __instance = None ...

Python中的数据对象持久化存储模块pickle的使用示例

Python中可以使用 pickle 模块将对象转化为文件保存在磁盘上,在需要的时候再读取并还原。具体用法如下: pickle是Python库中常用的序列化工具,可以将内存对象以文本或二...

tensorflow更改变量的值实例

如下所示: from __future__ import print_function,division import tensorflow as tf #create a Var...

NumPy中的维度Axis详解

NumPy中的维度Axis详解

浅谈NumPy中的维度Axis NumPy中的维度是一个很重要的概念,很多函数的参数都需要给定维度Axis,如何直观的理解维度呢?我们首先以二维数组为例进行说明,然后推广到多维数组。 (...

python生成requirements.txt的两种方法

python生成requirements.txt的两种方法

python项目如何在另一个环境上重新构建项目所需要的运行环境依赖包? 使用的时候边记载是个很麻烦的事情,总会出现遗漏的包的问题,这个时候手动安装也很麻烦,不能确定代码报错的需要安装的包...