Python实现注册登录系统
作者:Infi_chu 发布时间:2021-10-21 20:01:05
表单在网页中主要负责数据采集功能。一个表单有三个基本组成部分: 表单标签:这里面包含了处理表单数据所用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类那里的注释去掉即可!
随便输入用户名密码可得:
猜你喜欢
- JavaScript 循环中,i++ 与 i– 那个比较快?相信有不少朋友看过相关的讨论文章,比如这篇。文章解释了开启优化选项后,i– 的
- 代码实现:<!DOCTYPE html><html lang="en"><head>
- 越来越多的网站在logo中添加叶子元素,而此类logo又常常使用绿色,这可以给人希望、清新、健康的感觉,从而很容易被接受和认可。今天我们又收
- (一)wxpython的安装 Ubuntu下的安装,还是比较简单的。#使用:apt-cache sear
- 我们经常使用动态创建 JavaScript 的方式来实现 JavaScript 文件的无阻塞(Non-blocking)、并行下载(Para
- 看一个网站其实就好比品评一个美女。一看长相,我们很多时候关注的是视觉,比如老板经常会说,你做几个页面让我看看!二看身材,也有很多关注标准和s
- MaxDB和MySQL是独立的数据库管理服务器。系统间的协同性是可能的,通过相应的方式,系统能够彼此交换数据。要想在MaxDB和MySQL之
- 1、设置web.config文件。以下为引用的内容:<system.web> ...... <globalization
- 数据库系统的安全性包括很多方面。由于很多情况下,数据库服务器容许客户机从网络上连接,因此客户机连接的安全对MySQL数据库安全有很重要的影响
- 1. 相对与比较老的环境,建议使用第二个 set dbconnection=Server.CREATEOBJECT("ADODB.
- 网站或应用的登录页面有时候通常用户会看很多遍,同时也有机会诱使临时用户注册,所以,一个设计良好的登录页面会比你想象的更有用。这里是一些我们收
- 本文实例讲述了php计算两个整数的最大公约数常用算法。分享给大家供大家参考。具体如下:<?php//计时,返回秒function&nb
- 背景背景是这样的, 我的家里台式机常年 休眠, 并配置了 Wake On Lan (WOL) 方便远程唤醒并使用.但是我发现, 偶尔台式机会
- 本文从树数据结构说到二叉堆数据结构,再使用二叉堆的有序性对无序数列排序。1. 树树是最基本的数据结构,可以用树映射现实世界中一对多的群体关系
- 古巴比伦王颁布了汉摩拉比法典,刻在黑色的玄武岩,距今已经三千七百多年,你在橱窗前…熟悉吧?没错,这就是周董的爱在西元前歌词。前不久工作不是很
- 存储过程的优缺点: 存储过程优点: 1.由于应用程序随着时间推移会不断更改,增删功能,T-SQL过程代码会变得更复杂,StoredProce
- 能够为数据库数据提供的最简单的用户界面之一就是窗体,窗体可以一次性呈现出来自同一记录的各个域。本文通过python3+pyqt5改写实现了p
- cookie并不陌生,与session一样,能够让http请求前后保持状态。与session不同之处,在于cookie数据仅保存于客户端。r
- 基本概念gcache模块默认提供的是一个高速的内存缓存,操作效率非常高效,CPU性能损耗在ns纳秒级别。使用简单易上手,非常适合单机应用使用
- PHP mysqli_rollback() 函数关闭自动提交,做一些查询,提交查询,然后回滚当前事务:<?php// 假定数据库用户名