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 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)
Telphone = db.Column(db.String(20), nullable=True)
# db.create_all()
@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:
usern = request.form.get('Username')
passn = request.form.get('Password')
user = User.query.filter(User.Username == usern).first()
if user:
if user.Password == passn:
session['user'] = usern
return redirect(url_for('index'))
else:
return '密码错误'
# return window.alert("密码错误")
else:
# return window.alert("用户名不存在")
return '用户名不存在'
@app.context_processor
def mycontext():
usern=session.get('user')
if usern:
return {'Username':usern}
else:
return {}
# def login_re(func):
# @wraps(func)
# def wrapper(*args:**kwargs):
@app.route('/logout/')
def logout():
session.clear()
return redirect(url_for("index"))
@app.route('/register/', methods=['GET', 'POST'])
def register():
if request.method == 'GET':
return render_template('register.html')
else:
usern = request.form.get('Username')
passn = request.form.get('Password')
teln = request.form.get('Telphone')
user = User.query.filter(User.Username == usern).first()
if user:
return '用户名已经存在'
else:
user1 = User(Username=usern, Password=passn, Telphone=teln)
db.session.add(user1)
db.session.commit()
return redirect(url_for('login'))
@app.route('/question/')
def question():
return render_template('question.html')
if __name__ == '__main__':
app.run(debug=True)
<!DOCTYPE html>
<html>
<head>
<meta charset="utf-8">
<title>
首页
{% block denglutitle %}{% endblock %}
{% block zhucetitle %}{% endblock %}
{% block tupiantitle %}{% endblock %}
</title>
<link rel="stylesheet" href="http://cdn.static.runoob.com/libs/bootstrap/3.3.7/css/bootstrap.min.css">
<script src="http://cdn.static.runoob.com/libs/jquery/2.1.1/jquery.min.js"></script>
<script src="http://cdn.static.runoob.com/libs/bootstrap/3.3.7/js/bootstrap.min.js"></script>
<script src="{{ url_for('static',filename='js/daohang.js') }}"></script>
{% block dengluhead %}{% endblock %}
{% block zhucehead %}{% endblock %}
{% block tupianhead %}{% endblock %}
</head>
<body id="mybody">
<nav class="navbar navbar-inverse" role="navigation">
<div class="container-fluid">
<div class="navbar-header">
<a class="navbar-brand" href="{{ url_for('daohang') }}">首页</a>
</div>
<div>
<ul class="nav navbar-nav">
<li><a href="{{ url_for('denglu') }}" onclick="">登陆</a></li>
<li><a href="{{ url_for('zhuce') }}" onclick="">注册</a></li>
<li class="dropdown">
<a href="#" class="dropdown-toggle" data-toggle="dropdown">
设置 <b class="caret"></b>
</a>
<ul class="dropdown-menu">
<li><a href="#">收藏</a></li>
<li><a href="#">分享</a></li>
<li><a href="#">搜索</a></li>
<li class="divider"></li>
<li><a href="#">点赞</a></li>
</ul>
</li>
<li><a href="#">||</a></li>
</ul>
</div>
<div style="float: left">
<img id="myonoff" onclick="mySwitch()" src="http://www.runoob.com/images/pic_bulbon.gif" style="width:40px" >
</div>
<div>
<ul class="nav navbar-nav">
<li><a href="{{ url_for('tupian') }}" onclick="">图片区</a></li>
</ul>
</div>
<div>
<input type="text" name="user" id="user" placeholder="请输入内容">
<input type="button" value="搜索" class="btn btn-success" onclick="">
</div>
</div>
</nav>
<nav class="navbar navbar-inverse navbar-fixed-bottom" role="navigation">
<ul class="nav navbar-nav">
<li><img src="http://www.gzcc.cn/2016/images/footer1-logo.png"></li>
<li style="color: bisque;">版权所有@lin</li>
</ul>
</nav>
<center>
<script>document.write(Date())</script>
</center>
{% block denglubody %}{% endblock %}
{% block zhucebody %}{% endblock %}
{% block tupianbody %}{% endblock %}
</body>
</html>