文章目录

  • 前言
  • 程序
    • `django`配置
    • `settings.py`
    • `urls.py`
    • 客户端程序`putMessage.py`
  • 运行效果展示
    • 下载

前言

好家伙,这个程序我做了整整一中午!看我搞得我的QQ邮箱,乌烟瘴气,全是测试用的邮件……

直到看到成功了,我才高兴地蹦了起来,然后发了这篇博客。

这个程序使用django制作,具体结构如下:

D:.
│  putMessage.py
│
└─template│  db.sqlite3│  manage.py│  users│└─template│  asgi.py│  settings.py│  urls.py│  wsgi.py│  __init__.py│└─__pycache__settings.cpython-36.pycurls.cpython-36.pycwsgi.cpython-36.pyc__init__.cpython-36.pyc

话不多说,看下有修改的地方。

程序

运行前,请安装djangopywebiorequests模块。

(产品名称可以一键修改)

django配置

最原始的配置,直接django-admin startproject template。修改一下以下程序:

settings.py

程序需要修改FOLLOW_HOSTS,添加元素*

urls.py

服务器的主要部分。

from django.shortcuts import HttpResponse
from django.urls import path
from random import randint
from json import dumps
import smtplib
from email.mime.text import MIMEText
from email.utils import formataddrisLogin = False  # 已登录开关
product = 'xxx'  # 产品名称一键修改
passwordNew = 0  # 验证码def main(request): # 主页面(没啥用,随便写)return HttpResponse('<center><b><h1><font face="Microsoft YaHei" color="red">欢迎使用%s!</font></h1></b></center>' % product)def VC(request): # 发送邮箱验证码global passwordNewemail = request.GET['m']sender = "qingfengstudio@yeah.net"    # 私人邮件配置,请勿商用password = "GMDCFHTPQHBEZFCH"         # 私人邮件密码,请勿商用v = randint(100000,999999)            # 验证码# 邮件内容mailContent = '''%s产品的用户:
您的登录验证码为%d,打死也不要告诉别人哦!''' % (product,v)ret = TruepasswordNew = vtry:msg = MIMEText(mailContent, "plain", "utf-8")msg["From"] = formataddr(["老潘的消息", sender])msg["To"] = formataddr(["FK", email])msg["Subject"] = "%s软件登录验证" % productserver = smtplib.SMTP_SSL("smtp.yeah.net", 465)server.login(sender, password)server.sendmail(sender,[email,],msg.as_string(),)server.quit()except Exception as e:ret = Falseerr = str(e)print('遇到错误:%s' % err)return HttpResponse(dumps({'state':str(ret)}))def login(request):# 定义全局变量:登录开关global isLogin# 获取已有的用户名、密码with open('users','r',encoding = 'utf-8') as f:a = f.read()b,c,temp = [],[],[]b = a.splitlines()#=============================================================================# 这后面的东西,是以前根据用户名密码来设置的,这里不用c                       # for i in range(0,len(b)):                                                #     temp = b[i].split(':')                                              #     c.append({'username':temp[0],'password':temp[1]})                  #=============================================================================# 判断用户端发送的get请求发送的用户名密码是否匹配,因为无重要隐私信息使用get请求wantU = request.GET['u']wantP = request.GET['p']loginer = FalseverificationCode = str(passwordNew)print(verificationCode)if wantP == verificationCode:if wantU in b:loginer = TrueisLogin = loginer# 返回验证结果if loginer == True:return HttpResponse(dumps({'state':'Okay','text':'You have successfully logged in, welcome!'}))else:return HttpResponse(dumps({'state':'Error','text':'Failed to log in successfully. The possible reasons are: (1) the user is not registered; (2) Wrong user name or password.'}))def loginOkay(request):if isLogin == True:return HttpResponse('<p><b><center><font face="仿宋" color="red"><h1>您好,用户!</h1></font></center></b></p>')else:return HttpResponse('<p><b><center><font face="仿宋" color="red"><h1>请先登录!</h1></font></center></b></p>')urlpatterns = [path('',main),path('login/',login),path('vc/',VC),path('okay/',loginOkay),
]

客户端程序putMessage.py

from requests import get
from pywebio.input import *
from pywebio.output import *
import webbrowserproduct = 'xxx'  # 产品名称
serverIP = 'http://127.0.0.1:8000/'  # 默认IP
put_markdown('**您好,欢迎使用%s**!' % product)
email = input('输入您的邮箱')r1 = get(serverIP + 'vc/',params = {'m':email,}).json()
if r1['state'] == 'True':ps = input('输入您的验证码')r2 = get(serverIP + 'login/',params = {'u':email,'p':ps}).json()if r2['state'] == 'Okay':put_markdown('message from SERVER:%s' % r2['text'])webbrowser.open_new_tab(serverIP + 'okay/')else:put_markdown('您的登录出现错误,如下:\n%s' % r2['text'])
else:put_markdown('验证码发送失败!')

运行效果展示

先运行服务器,python manage.py runserver.

运行客户端。

输入邮箱点击提交,两三秒后提示输入验证码,与此同时在邮箱里收到验证码,在网页上输入。

(模仿百度)


我提供了很多地方可以供自定义,大家需要,尽管拿去使用,别忘了修改邮箱的密码,请勿商用(这是我自己的小号)。

下载

需要下载请看我的资源。

python网页登录模板相关推荐

  1. python网页登录验证码不显示_进网页需要验证码?不好意思,Python从来不惧各种验证码!...

    今天 要来说说滑动验证码了 大家应该都很熟悉 点击滑块然后移动到图片缺口进行验证 现在越来越多的网站使用这样的验证方式 为的是增加验证码识别的难度 那么,对于这种验证码应该怎么破呢 接下来就是见证神奇 ...

  2. python网页登录钉钉_django 钉钉扫码登录

    django 钉钉登录 原理 先去获取钉钉用户信息,获取之后 去django User里面 查询 是否存在,不存在就创建,存在就正常登录. 根据唯一ID 进行判断 登录图 钉钉部分 请参考如下链接 d ...

  3. python网页登录钉钉_关于钉钉接口使用Python,Post 500报错

    我用Python来处理钉钉的接口 现在遇到一个问题,get请求都是能用的,post数据就会报500错误 这个可以说是没什么有歧义的地方了,post只有一个参数 url = 'https://oapi. ...

  4. python网页登录钉钉_【Python】关于钉钉接口使用Python,Post 500报错

    我用Python来处理钉钉的接口 现在遇到一个问题,get请求都是能用的,post数据就会报500错误 我使用的接口是(获取用户待审批数量) https://open-doc.dingtalk.com ...

  5. python网页设计模板_模板设计者文档

    内置过滤器清单¶ abs(number)¶ Return the absolute value of the argument. attr(obj, name)¶ Get an attribute o ...

  6. python 网页登录selenium_使用selenium登录网页

    我对这个完全陌生.在 我在这里找到了一些例子,并写了以下内容:from selenium import webdriver from selenium.webdriver.common.keys im ...

  7. finereport 登录界面的代码文件_【干货下载】多彩包含网页登录界面等4款WEB模板素材作品集源文件...

    老菜为今天准备的是多彩包含网页登录界面等4款WEB模板素材作品集源文件,SKETCH源文件炫酷页面设计模板,适合作品集展示.收下吧~ 如何下载这套资源? 方法1:加入"知识星球"更 ...

  8. 各种风格登录页响应式html5模板 Admin后台管理系统模板手机wap登录页html模板html会员登录页面模板源码70多套高大尚响应式网站模板html5网页静态模板Bootstrap扁平化网站源码

    各种风格登录页响应式html5模板 Admin后台管理系统模板手机wap登录页html模板html会员登录页面模板源码70多套高大尚响应式网站模板html5网页静态模板Bootstrap扁平化网站源码 ...

  9. python 实现qq空间网页登录(本文主要是点图标进入空间)

    python 实现qq空间网页登录(本文主要是点图标进入空间) 工具: pycharm.selenium.time from selenium import webdriver from time i ...

  10. python网络爬虫--网页登录

    1.前言 主要用到python的selenium库,通过模仿浏览器行为+定位登录所需的标签位置,实现网页登录功能.最后在码云(gitee)上测试自动登录功能. 2.selenium定位网页元素 关于s ...

最新文章

  1. 为什么分库分表后不建议跨分片查询
  2. 【大数据风控体系】理想大数据风控体系
  3. PMCAFF|百度客户端产品:高效开发客户端产品的正确姿势
  4. 一招一式, 成就“霸业”必做的9件大事
  5. PostgreSQL在何处处理 sql查询
  6. Redis PK Memcached,哪个更牛叉
  7. mysql dts_云树·DTS - 产品系列 - 分布式数据库系统_MySQL数据库性能优化-爱可生...
  8. 您可能在2017年期待JavaScript会议
  9. 使用邻接矩阵实现有向图最短路径Dijkstra算法
  10. eBay把平台更新为Kubernetes、Envoy和Kafka:计划开源硬件和软件
  11. K2P 潘多拉固件PandoraBox
  12. Laravel 教程 - 实战 果酱社区 开源电商 API 系统
  13. 手把手教你制作手机离线地图
  14. java中new对象_java new对象的理解
  15. xmind8 pro 进阶班-Array老师-专题视频课程
  16. shiro的原理理解
  17. 冠军团队访谈录|第三届全国人工智能大赛
  18. 【视频通话卡顿】【语音通话卡顿】PC端QQ、微信每天接通语音电话或视频通话总会出现首卡半分钟左右的童鞋请进
  19. java启动绑定网卡_ServerSocket 默认邦定IP
  20. MATLAB矩阵画法,MATLAB矩阵与数组

热门文章

  1. 【信号隐藏】基于lsb算法实现音频水印嵌入提取matlab代码
  2. 基础LSB算法的matlab实现
  3. android audiomixer,Android多媒体:AudioMixer
  4. 数学模板-BSGSEXBSGS
  5. 短视频app开发,随机生成中文名字
  6. LTE-PCC SCC
  7. OPNsense用户手册-硬件要求
  8. 【脚本】一键切换单位与家庭wifi网络环境
  9. 企业微信网页授权登陆
  10. 利用python打乱xlsx表格