flask实现登录注册
2019-05-28 本文已影响0人
儿懵
废话不多说 直奔主题
- 先导包
from flask import Flask,render_template,request,redirect,url_for
import time
from datetime import datetime
- 在创建一个flask对象
#创建flask对象
#__name__代表当前文件所在位置
app = Flask(__name__,static_url_path='/1809')
- 接下来后端实现先端页
#路由和视图
@app.route('/article') #相当于Django url
def article():
times = time.strftime('%Y*%m*%d %H:%M:%S',time.localtime())
ctx = {
'data':[{'title':'奔跑吧!兄弟','times':datetime.now(),'content':'不仅能给大家带来欢乐,还给人们带来轻松。自从《偶像实习生》结束之后,又迎来了一些综艺节目,也许你比较关注的综艺节目之一就是《跑男》了,但是最新一季的《跑男》已经来临了。今天小编就跟大家说说,目前最受欢迎的五个节目吧,一起来看看!,不仅能给大家带来欢乐,还给人们带来轻松。自从《偶像实习生》结束之后,又迎来了一些综艺节目,也许你比较关注的综艺节目之一就是《跑男》了,但是最新一季的《跑男》已经来临了。今天小编就跟大家说说,目前最受欢迎的五个节目吧,一起来看看!不仅能给大家带来欢乐,还给人们带来轻松。自从《偶像实习生》结束之后,又迎来了一些综艺节目,也许你比较关注的综艺节目之一就是《跑男》了,但是最新一季的《跑男》已经来临了。今天小编就跟大家说说,目前最受欢迎的五个节目吧,一起来看看!不仅能给大家带来欢乐,还给人们带来轻松。自从《偶像实习生》结束之后,又迎来了一些综艺节目,也许你比较关注的综艺节目之一就是《跑男》了,但是最新一季的《跑男》已经来临了。今天小编就跟大家说说,目前最受欢迎的五个节目吧,一起来看看!不仅能给大家带来欢乐,还给人们带来轻松。自从《偶像实习生》结束之后,又迎来了一些综艺节目,也许你比较关注的综艺节目之一就是《跑男》了,但是最新一季的《跑男》已经来临了。今天小编就跟大家说说,目前最受欢迎的五个节目吧,一起来看看!'},
{'title':'刺激战场','times':datetime.now(),'content':'一些从csgo,cf过来的玩家认为刺激战场是一款fps射击类游戏,他们在游戏中喜欢刚枪,每次跳伞不是P城就是皮卡多,豪宅,让他们去打野当苟王?那是万万不可能的。因为有射击类游戏的一些基础,这一类的玩家对枪械的适应能力很强,可以快速的掌握各种枪械的使用技巧,但是有时候因为他们太刚了,反而容易被淘汰,这就是过刚易折吧。一些从csgo,cf过来的玩家认为刺激战场是一款fps射击类游戏,他们在游戏中喜欢刚枪,每次跳伞不是P城就是皮卡多,豪宅,让他们去打野当苟王?那是万万不可能的。因为有射击类游戏的一些基础,这一类的玩家对枪械的适应能力很强,可以快速的掌握各种枪械的使用技巧,但是有时候因为他们太刚了,反而容易被淘汰,这就是过刚易折吧。一些从csgo,cf过来的玩家认为刺激战场是一款fps射击类游戏,他们在游戏中喜欢刚枪,每次跳伞不是P城就是皮卡多,豪宅,让他们去打野当苟王?那是万万不可能的。因为有射击类游戏的一些基础,这一类的玩家对枪械的适应能力很强,可以快速的掌握各种枪械的使用技巧,但是有时候因为他们太刚了,反而容易被淘汰,这就是过刚易折吧。一些从csgo,cf过来的玩家认为刺激战场是一款fps射击类游戏,他们在游戏中喜欢刚枪,每次跳伞不是P城就是皮卡多,豪宅,让他们去打野当苟王?那是万万不可能的。因为有射击类游戏的一些基础,这一类的玩家对枪械的适应能力很强,可以快速的掌握各种枪械的使用技巧,但是有时候因为他们太刚了,反而容易被淘汰,这就是过刚易折吧。一些从csgo,cf过来的玩家认为刺激战场是一款fps射击类游戏,他们在游戏中喜欢刚枪,每次跳伞不是P城就是皮卡多,豪宅,让他们去打野当苟王?那是万万不可能的。因为有射击类游戏的一些基础,这一类的玩家对枪械的适应能力很强,可以快速的掌握各种枪械的使用技巧,但是有时候因为他们太刚了,反而容易被淘汰,这就是过刚易折吧。'},
{'title':'极限挑战','times':datetime.now(),'content':'为什么这个综艺节目让我们恋恋不忘,我想除了他们恰到好处的综艺天赋,还因为这个综艺拉近了嘉宾和大众的距离吧。想起郭涛的那句话,你们这到底是个什么样的节目。居然和路人一起玩……为什么这个综艺节目让我们恋恋不忘,我想除了他们恰到好处的综艺天赋,还因为这个综艺拉近了嘉宾和大众的距离吧。想起郭涛的那句话,你们这到底是个什么样的节目。居然和路人一起玩……为什么这个综艺节目让我们恋恋不忘,我想除了他们恰到好处的综艺天赋,还因为这个综艺拉近了嘉宾和大众的距离吧。想起郭涛的那句话,你们这到底是个什么样的节目。居然和路人一起玩……为什么这个综艺节目让我们恋恋不忘,我想除了他们恰到好处的综艺天赋,还因为这个综艺拉近了嘉宾和大众的距离吧。想起郭涛的那句话,你们这到底是个什么样的节目。居然和路人一起玩……为什么这个综艺节目让我们恋恋不忘,我想除了他们恰到好处的综艺天赋,还因为这个综艺拉近了嘉宾和大众的距离吧。想起郭涛的那句话,你们这到底是个什么样的节目。居然和路人一起玩……为什么这个综艺节目让我们恋恋不忘,我想除了他们恰到好处的综艺天赋,还因为这个综艺拉近了嘉宾和大众的距离吧。想起郭涛的那句话,你们这到底是个什么样的节目。居然和路人一起玩……为什么这个综艺节目让我们恋恋不忘,我想除了他们恰到好处的综艺天赋,还因为这个综艺拉近了嘉宾和大众的距离吧。想起郭涛的那句话,你们这到底是个什么样的节目。居然和路人一起玩……为什么这个综艺节目让我们恋恋不忘,我想除了他们恰到好处的综艺天赋,还因为这个综艺拉近了嘉宾和大众的距离吧。想起郭涛的那句话,你们这到底是个什么样的节目。居然和路人一起玩……'}
]
}
return render_template('article.html',**ctx)
- 在这里做判断
@app.route('/',methods=['GET','POST'])
@app.route('/login',methods=['GET','POST'])
def login():
if request.method == 'GET':
return render_template('login1.html')
else:
account = request.form.get('account')
password = request.form.get('password')
if not account or not password: #账号或密码不能为空
return render_template('login1.html')
elif account !='123456' and password != '123456': #账号密码是123456
return '密码错误'
else:
return redirect(url_for('article'))
- 下面开始html简陋页面了
article.html
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<title>Title</title>
</head>
<body>
<ul>
{% for d in data %}
<li>
<h1>{{ d.title }}</h1>
<h2>{{ d.times|ht('%Y*%m*%d %H:%M:%S') }}</h2>
<h2>{{ d.content }}</h2>
</li>
<hr>
<br>
{% endfor %}
</ul>
</body>
</html>
login1.html
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<title>Title</title>
</head>
<body>
<form action="" method="post">
账号:<input type="text" name="account"><br>
密码:<input type="password" name="password"><br>
<input type="submit" value="提交">
</form>
</body>
</html>
友情提示:html文件要先创建一个template的文件夹 放在和.py文件同级