首页 > 分享 > Python小项目之实现用户登录与注册功能

Python小项目之实现用户登录与注册功能

目录

一、项目概述

二、代码实现

1. 用户信息存储

2. 发送邮件验证码

3. 用户注册

4. 用户登录

5. 主程序

三、Python发送邮件的操作方法

1. 使用smtplib库发送邮件

2. 使用email库构建邮件内容

3. 示例代码

四、总结

在现代应用中,用户登录与注册功能是不可或缺的一部分。本文将介绍如何使用Python实现一个简单的用户登录与注册系统,并详细讲解如何通过Python发送邮件验证码。

一、项目概述

本项目主要包含以下几个功能模块:

用户信息存储:将用户注册信息(邮箱和密码)存储在CSV文件中。

发送邮件验证码:在用户注册时,通过邮件发送验证码。

用户注册:用户输入邮箱并接收验证码,验证成功后设置密码并完成注册。

用户登录:用户输入邮箱和密码进行登录验证。

二、代码实现

1. 用户信息存储

首先,我们定义一个函数save_inf,用于将用户注册信息存储在CSV文件中。

def save_inf(root0, pwd0):

with open('User Information.csv', 'a', encoding='utf-8') as f:

f.write(f'{root0},{pwd0}n')

2. 发送邮件验证码

接下来,我们定义一个函数send_email,用于发送邮件验证码。该函数使用Python的smtplib库和email库来实现邮件发送功能。

def send_email(Email):

import smtplib

from email.mime.text import MIMEText

from email.header import Header

import random

msg_from = '*******@qq.com'

passwd = ' '

subject = "注册验证码"

Captcha = random.randint(100000, 999999)

send_info = f'您的注册验证码为:{Captcha},请勿转发给他人!'

msg = MIMEText(send_info, 'plain', 'utf-8')

msg['Subject'] = Header(subject, 'utf-8')

msg['From'] = msg_from

msg['To'] = Email

s = smtplib.SMTP_SSL("smtp.qq.com", 465)

s.login(msg_from, passwd)

s.sendmail(msg_from, Email, msg.as_string())

return Captcha

3. 用户注册

在用户注册时,首先检查邮箱是否已经注册过,如果没有注册过,则发送验证码并要求用户输入验证码。验证成功后,用户设置密码并完成注册。

def enrol():

root1 = input('请输入你的邮箱:')

f = open('User Information.csv', 'r', encoding='utf-8')

lines = f.readlines()

list1 = []

list2 = []

for line in lines:

line = line.strip()

al = line.split(',')

list1.append(al[0])

list2.append(al[1])

if root1 in list1:

print('该账号已经注册过!!!')

f.close()

return

s = send_email(root1)

while True:

you_enrol = int(input('请输入验证码:'))

if s == you_enrol:

print('正确')

break

else:

print('验证码错误!')

pwd1 = input('请设置您的密码:')

save_inf(root1, pwd1)

print('注册成功,请返回登录')

4. 用户登录

用户登录时,输入邮箱和密码进行验证。如果邮箱未注册或密码错误,系统会提示相应的错误信息。

def login():

root = input('请输入您的账号(邮箱):')

pwd = input('请输入您的密码:')

f = open('User Information.csv', 'r', encoding='utf-8')

lines = f.readlines()

list1 = []

list2 = []

for line in lines:

line = line.strip()

al = line.split(',')

list1.append(al[0])

list2.append(al[1])

if root not in list1:

print('您还未注册账号,请先注册!')

else:

place = list1.index(root)

if list2[place] != pwd:

print('密码错误,请重新输入!')

else:

print('登录成功!!!')

break

f.close()

5. 主程序

在主程序中,用户可以选择登录或注册,输入Q退出程序。

if __name__ == '__main__':

while True:

choose = input('请填写您的登录方式(登录/注册):')

if choose.upper() == 'Q':

break

if choose == '登录':

login()

elif choose == '注册':

enrol()

三、Python发送邮件的操作方法

1. 使用smtplib库发送邮件

smtplib是Python标准库中的一个模块,用于发送邮件。以下是发送邮件的基本步骤:

创建SMTP对象:使用smtplib.SMTP_SSL或smtplib.SMTP创建一个SMTP对象,并指定SMTP服务器和端口。

登录邮箱:使用login方法登录邮箱,需要提供邮箱地址和授权码。

发送邮件:使用sendmail方法发送邮件,需要提供发件人、收件人和邮件内容。

2. 使用email库构建邮件内容

email库用于构建邮件内容,包括邮件主题、发件人、收件人和邮件正文。以下是构建邮件内容的基本步骤:

创建MIMEText对象:使用MIMEText类创建一个邮件正文对象,并指定邮件内容、内容类型和编码。

设置邮件头部信息:使用Header类设置邮件主题,并使用msg['From']和msg['To']设置发件人和收件人。

3. 示例代码

以下是一个简单的示例代码,展示如何使用Python发送邮件:

import smtplib

from email.mime.text import MIMEText

from email.header import Header

msg_from = '*******@qq.com'

passwd = ' '

msg_to = 'recipient@example.com'

subject = "测试邮件"

content = "这是一封测试邮件,请勿回复。"

msg = MIMEText(content, 'plain', 'utf-8')

msg['Subject'] = Header(subject, 'utf-8')

msg['From'] = msg_from

msg['To'] = msg_to

s = smtplib.SMTP_SSL("smtp.qq.com", 465)

s.login(msg_from, passwd)

s.sendmail(msg_from, msg_to, msg.as_string())

print("邮件发送成功")

四、总结

本文介绍了如何使用Python实现一个简单的用户登录与注册系统,并详细讲解了如何通过Python发送邮件验证码。通过这个项目,你可以学习到如何使用Python处理文件操作、发送邮件以及实现基本的用户验证功能。

相关知识

基于python的在线花店管理系统的设计与开发
用户登录
鲜花预定小程序源码制作开发搭建
基于深度学习的花卉检测与识别系统(YOLOv5清新界面版,Python代码)
(开题)flask框架花卉艺术交流平台设计与实现(程序+论文+python)
Java实战项目
python基于Django的鲜花预订购买管理系统
(开题)flask框架《花间故里》(程序+论文+python)
(开题)flask框架仓库物流信息管理系统设计和实现(程序+论文+python)
用户登录界面设计代码html

网址: Python小项目之实现用户登录与注册功能 https://m.huajiangbk.com/newsview948767.html

所属分类:花卉
上一篇: 用户注册与登录功能(完整实现的思
下一篇: 新三板枢纽功能凸显 年内30家挂