flask 第二个小、项目

web里面的index

-- encoding: utf-8 --

from flask import *
from utils.captcha.captcha import captcha
import re
from models import User
from apps import db

index_blue = Blueprint(‘index’, name, template_folder=’…/…/templates’)

@index_blue.route(’/image’)
def image():
name, text, image_url = captcha.generate_captcha()
session[‘img_code’] = text
response = make_response(image_url)
response.headers[‘Content-Type’] = ‘image/jpg’
return response

@index_blue.route(’/register’,methods=[‘GET’,‘POST’])
def register():
if request.method == ‘POST’:
user = request.form.get(‘user’)
pwd1 = request.form.get(‘pwd1’)
pwd2 = request.form.get(‘pwd2’)
img = request.form.get(‘img’)
if all([user,pwd1,pwd2,img]):
u = User.query.filter(User.username == user).first()
if u:
flash(‘用户名已存在’)
else:
if pwd1 == pwd2:
if img.lower() == session.get(‘img_code’).lower():
us = User()
us.username = user
us.password = pwd1
db.session.add(us)
db.session.commit()
return redirect(url_for(‘index.login’))
else:
flash(‘两次密码输入不一致’)
return render_template(‘register.html’)

@index_blue.route(’/login’,methods=[‘GET’,‘POST’])
def login():
if request.method == ‘POST’:
user = request.form.get(‘user’)
pwd = request.form.get(‘pwd1’)
img_code = request.form.get(‘img’)
if all([user,pwd,img_code]):
u = User.query.filter(User.username == user).first()
if u:
p = User.query.filter(User.password == pwd).first()
if p:
session[‘user_id’] = u.id
return redirect(url_for(‘index.index’))
else:
flash(‘密码不对’)
else:
flash(‘用户不存在’)
else:
flash(‘输入不完整’)
return render_template(‘login.html’)
@index_blue.route(’/’)
def index():
user = User.query.filter().group_by(User.id.desc())
dic = {}
user_list = []
for i in user:
user_list.append(i)
dic[‘user’] = user_list
dic[‘user_id’] = User.query.filter(User.id == session.get(‘user_id’)).first()
return render_template(‘index.html’, data=dic)

templates里面

index.html

首页 您好{​{ data.user_id.username }} {% for user in data.user %} {% endfor %}
用户id用户名
{{ user.id }}{{ user.username }}

login.html

登录 {% endfor %} 用户名
密码
验证码
登录

register.html

注册 {% endfor %} 用户名
密码
验证码
确认密码
注册
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值