from flask import Flask
from flask import render_template,request,redirect,url_for,session
import config,os
from flask_sqlalchemy import SQLAlchemy
app = Flask(__name__)
app.config.from_object(config)
db = SQLAlchemy(app)
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),nullable=True)
db.create_all()
# 增加
# user=User(username='yujiujiu2',password='11111',nickname='123456')
# db.session.add(user)
# db.session.commit()
#查询
# user=User.query.filter(User.username =='yujiujiu2').first()
# print(user.username,user.password,user.nickname)
#删除
# user=User.query.filter(User.username =='vixx').first()
# db.session.delete(user)
# db.session.commit()
#修改
# user=User.query.filter(User.username =='vixx').first()
# user.password='123456789'
# db.session.commit()
@app.route('/')
def lx():
return render_template('lx3.html')
@app.route('/login/',methods=['GET','POST'])
def login():
if request.method=='GET':
return render_template('lx2.html')
else:
username = request.form.get('username')
password = request.form.get('password')
user = User.query.filter(User.username == username ).first()
# 判断用户名是否存在
if user:
if user.password==password:
session['user'] = username
session.permanent = True
return redirect(url_for('lx'))
else:
return u'密码错误'
else:
return u'账号不存在'
@app.context_processor
def mycontext():
username=session.get('user')
if username:
return {'username':username}
else:
return {}
@app.route('/logout')
def logout():
session.clear()
return redirect(url_for('lx'))
@app.route('/regist',methods=['GET','POST'])
def regist():
if request.method=='GET':
return render_template('lx.html')
else:
username=request.form.get('username')
password=request.form.get('password')
user = User.query.filter(User.username == username).first()
# 判断用户名是否存在
if user:
return u'账号已存在'
else:
user = User(username=username, password=password)
db.session.add(user)
db.session.commit()
return redirect(url_for('login'))
@app.route('/fabu')
def fabu():
return render_template('fabu.html')
if __name__ == '__main__':
app.run(debug=True)
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<title>首页
{% block logintitle %}{% endblock %}
{% block registertitle %}{% endblock %}
</title>
<nav style="background-color: white">
<ul class="nav nav-tabs">
<li><a href="{{ url_for('lx') }}">首页</a></li>
{% if username %}
<li><a href="#">{{ username }}</a></li>
<li><a href="{}">注销</a></li>
{% else %}
<li><a href="{{ url_for('login') }}">登录</a></li>
<li><a href="{{ url_for('regist') }}">注册</a></li>
{% endif %}
<li><a href="{{ url_for('fabu') }}">发布</a></li>
<li><input type="text" class="form-control" style=" 200px"></li>
<button type="button" class="btn btn-default">搜索</button>
</ul>
</nav>
{% block loginhead %}{% endblock %}
{% block registerhead %}{% endblock %}
</head>
<link href="https://maxcdn.bootstrapcdn.com/bootstrap/3.3.7/css/bootstrap.min.css" rel="stylesheet">
<link type="text/css" rel="stylesheet" href="{{ url_for('static',filename='css/webb.css') }}">
<body class="body">
<h1 class="h5">欢迎进入我的网站
</h1>
{% block body %}
{% endblock %}
<footer class="foot">
<div><a href="#"> 联系我们</a> · <a href="#"> 加入我们</a> · <a href="#"> 品牌与徽标 </a> · <a href="#">帮助中心</a> · <a href="#">合作伙伴</a>
</div>
<div>©2015-2017 广州商学院信息技术与工程学院 / 粤ICP备278953737号-5 / 粤公网安备2015060050046号 / Smrz 粤公网安备201506050046号 / Wxb
举报电话:020-66666666
</div>
</footer>
</body>
</html>