关键词:
登录功能完成:
- js:设置return
- html:设置
- form
- input
- py:
- @app.route设置methods
- GET
- POST
- 读取表单数据
- 查询数据库
- 用户名密码对:
- 记住用户名
- 跳转到首页
- 用户名密码不对:
- 提示相应错误。
- 用户名密码对:
session:
- 从`flask`中导入`session`
- 设置`SECRET_KEY`
- 操作字典一样操作`session`:增加用户名`session[‘username‘]=`username
py:
from flask import Flask,render_template,request,redirect,url_for,session from flask_sqlalchemy import SQLAlchemy import config app = Flask(__name__) app.config.from_object(config) db=SQLAlchemy(app) # class SQLALchemy(object): # pass class User(db.Model): _tablename_ = ‘user‘ id = db.Column(db.Integer,primary_key=True,autoincrement=True) username = db.Column(db.String(20),nullable=False) password = db.Column(db.String(20), nullable=False) nickname = db.Column(db.String(20)) @app.route(‘/‘) def index(): return render_template(‘index.html‘) @app.route(‘/login/‘, methods=[‘GET‘, ‘POST‘]) def login(): if request.method == ‘GET‘: return render_template(‘login.html‘) else: username = request.form.get(‘username‘) password = request.form.get(‘password‘) # nickname=request.form.get(‘nickname‘) user = User.query.filter(User.username == username).first() if user: session[‘user‘]=username session.permanent=True return redirect(url_for(‘daohang‘)) else: return ‘error username or password‘ return redirect(url_for(‘daohang‘)) @app.route(‘/regist/‘, methods=[‘GET‘, ‘POST‘]) def regist(): if request.method == ‘GET‘: return render_template(‘regist.html‘) else: username = request.form.get(‘username‘) password = request.form.get(‘password‘) user = User.query.filter(User.username == username).first() if user: return ‘username existed‘ else: user = User(username=username, password=password) db.session.add(user) db.session.commit() return redirect(url_for(‘login‘)) @app.route(‘/biaoqian/‘) def biaoqian(): return render_template(‘biaoqian.html‘) if __name__ == ‘__main__‘: app.run()
config:
import os SECRET_KEY = os.urandom(24) DIALECT=‘mysql‘ DRIVER=‘mysqldb‘ USERNAME=‘root‘ PASSWORD=‘ROOT‘ HOST=‘127.0.0.1‘ PORT=‘3306‘ DATABASE=‘mis_db‘ SQLALCHEMY_DATABASE_URI = ‘mysql+pymysql://root:@127.0.0.1:3306/test?charset=utf8‘ SQLALCHEMY_TRACK_MODIFICATIONS = False
login.js
function config() { var oUname = document.getElementById("uname"); var oUpass = document.getElementById("upass"); var oUpass1 = document.getElementById("upass1"); var oError = document.getElementById("error_box"); oError.innerHTML = "<br>"; if (oUname.value.length < 6 || oUname.value.length > 20) { oError.innerHTML = "用户名要6-20之位"; return; } else if ((oUname.value.charCodeAt(0) >= 48) && (oUname.value.charCodeAt(0) <= 57)) { oError.innerHTML = "首字母不能为数字"; return; } else for (var i = 0; i < oUname.value.length; i++) { if ((oUname.value.charCodeAt(i) < 48) || (oUname.value.charCodeAt(i) > 57) && ((oUname.value.charCodeAt(i) < 97)) || oUname.value.charCodeAt(i) > 122) { oError.innerHTML = "只能填写数字或字母"; return; } } // oUpass if (oUpass.value.length < 6 || oUpass.value.length > 20) { oError.innerHTML = "密码要6-20位"; return; } else if (oUpass.value !== oUpass1.value) { oError.innerHTML = "两次密码不一致"; return false; } return true; window.alert("注册成功") }
login.html
{% extends ‘base.html‘ %} {% block title %}注册{% endblock %} {% block head %} <link rel="stylesheet" type="text/css" href="{{ url_for(‘static‘,filename=‘css/zhuce.css‘) }}"> <script src="{{ url_for(‘static‘,filename=‘js/zhuce.js‘) }}"></script> {% endblock %} {% block main %} <div class="box"> <h2>注册</h2> <form action="{{ url_for(‘zhuce‘) }}" method="post"> <div class="input_box"> <input id="uname" type="text" placeholder="请输入用户名" name="username"> </div> <div class="input_box"> <input id="upass" type="password" placeholder="请输入密码" name="password"> </div> <div class="input_box"> <input id="upass1" type="password" placeholder="请再次输入密码"> </div> <div id="error_box"><br></div> <div class="input_box"> <button onclick="fnzhuce()">注册</button> </div> </form> </div> {% endblock %}
11.21
1.今日初步学习了文件的导入、编写了excel文件的四等水准测量记录表,并进行了导入调试2.明天进行初步的四等水准计算代码的编写3.昨天解决了页面隐藏的问题,也出现了listview显示为列不为行的问题,百度无果,改用了treeview... 查看详情
11.21团队总结
今天我们写好了所有的代码,进行了测试,美中不足的是有些许功能还不是很完善,还有一点瑕疵,总体已经很好。我们还总结了这几天以来所遇到的艰难困苦,还需要努力学习,也从中感受到了团队协作的乐趣,这几天过得很... 查看详情
11.21css学习-上午
font-family:设置文本的字体序列,应当多设置几个,作为后备机制,如果浏览器不支持第一种字体,它将尝试下一种字体。字体序列的名字超过一个字需要使用引号,多个字体序列用逗号分隔指明:{font-family:‘TimesNewRoman‘,SansSerif... 查看详情
11.21css学习-下午
CSS框模型,看似一个盒子,封装周围的HTML元素,包括:边距、边框、填充和实际内容Margin:清除边框区域,没有背景色,完全透明Border:边框周围的填充和内容,边框是受到盒子的背景色影响Padding:清除内容周围的区域,会受... 查看详情
11.21
一、外键级联外键:createtable表名(字段名类型(长度),foreignkey(外键的字段名称)references对方表名(对方主键名));外键的第一种约束 先建主表 再建从表外键的第二个约束 先插入主表 再插入从表外键的第三个约束 ... 查看详情
工作第三天11.21
今天大致了解了下项目的框架,解决了两个Bug很开心,总结下今天的收获 使用 @transcation会自动提交事务 关于idea更新代码先切到主干 拉最新的代码在融合 关于自定义异常,先写一个ServiceException,然后在拦截... 查看详情
11.21个人总结
到今天为止冲刺阶段算是结束了,很遗憾的是最终“TDG音乐”的上一首下一首button的功能没有得以实现。网上有很多上一首下一首的方法,经过很多次编写、调试,最后还是没有解决。今天编写的代码是昨天的静音按钮没有完成... 查看详情
11.21if条件语句年月日执行判断
1<scriptlanguage="javascript">2varnian=prompt("输入一个年份","")3if(nian!=null)4{5if(!isNaN(nian)&&nian>=1&&nian<=9999&&nian%1==0)6{7varyue=prompt("输入一个月份","")8if(yue!=nu 查看详情
11.15-11.21大学生python学习社区总结+优秀社区成员点名表扬&&技术书籍和csdn定制背包奖励~
...入:社区:大学生Python学习 文章目录:11.15-11.21的社区总结:优秀群成员点名表扬&&技术书籍和CSDN定制背包奖励:排名第一位:[Xt_Yj](https://blog.csdn.net/xt_yj)排名第二位:[团子的守护](https://blog.cs... 查看详情
11.15-11.21大学生python学习社区总结+优秀社区成员点名表扬&&技术书籍和csdn定制背包奖励~
...入:社区:大学生Python学习 文章目录:11.15-11.21的社区总结:优秀群成员点名表扬&&技术书籍和CSDN定制背包奖励:排名第一位:[Xt_Yj](https://blog.csdn.net/xt_yj)排名第二位:[团子的守护](https://blog.cs... 查看详情
图学习笔记(11.21)(代码片段)
最近数据结构和离散数学都学习了有关图的知识,自己学习算法也对图有了更加深入的了解,下面做一下汇总,便于复习翻看。(思路是自己理解写的,代码非原创)图一、图的概念二、图的存储1.邻接矩阵2.邻接表3... 查看详情
2018-5-29
11.18Apache用户认证11.19/11.20域名跳转11.21Apache访问日志11.18Apache用户认证 vim/usr/local/apache2.4/conf/extra/httpd-vhosts.conf//把第二个虚拟主机编辑成如下内容 <Directory/data/wwwroot/111.com>//指定认证的目录 查看详情
2018-3-210周3次课
...rewrite模块更改vim/usr/local/apache2.4/conf/httpd.conf如下图测试11.21Apa 查看详情
2018.3.210周3次课
十周三次课(3月2日)11.18Apache用户认证11.19/11.20域名跳转11.21Apache访问日志11.18Apache用户认证这个功能就是在用户访问网站的时候,需要输人用户名密码才能顺利访问。一些比较重要的站点或者网站后台通常会加上用户认证,目... 查看详情
冲刺阶段一总结
11.15-11.21是我们的第一个冲刺周期,在此期间我们完成了软件的第一阶段工作。我们设计了两个界面,一个是登陆界面,另一个是软件的主界面。并且在这两个界面中都贴上了图片,来让软件更加赏心悦目。用户使用我们这个软... 查看详情
行研报告专题资料|游戏手游电竞
...戏、手游、电竞-专题资料-2021月度新增13份(10.25-11.21)2021Q3游戏直播行业洞察报告-77页.pdf2021年9月全球游戏行业报告(英)-17页.pdf2021年中国手机游戏行业研究报告-50页.pdf2021年千禧一代手机游戏玩家报告 查看详情
11.22pmp试题每日一题
...C、项目章程D、范围基准答案将于明天和新题一起揭晓!11.21试题答案:B,虽然专家判断可以在各个过程使用,但是要记住,专家判断也可能是借助其他更为直接的工具来管理本过程,而在管理项目团队过程中,A、C、D都是直接... 查看详情
福利内卷时代来临!腾讯为3300名员工发11亿红包
...于3300位奖励人士授予合共2,403,203股奖励股份。腾讯壕派11.21亿元红包根据7月14日腾讯港股收盘价561港币 查看详情