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)
nickname = db.Column(db.String(50))
#db.create_all()
@app.route('/')
def base():
return render_template('base.html')
@app.route('/shouye/')
def shouye():
return render_template('shouye.html') #跳转首页
@app.route('/denglu/',methods=['GET','POST'])
def gg():
if request.method == 'GET':
return render_template('denglu.html') #跳转登录
else:
usern = request.form.get('username')
passw = request.form.get('password')
user = User.query.filter(User.username == usern).first()
if user:
if user.password == passw:
session['user'] = usern
session.parmanent = True
return redirect(url_for('shouye'))
else:
return u'password error'
else:
return u'username is not existed'
@app.route('/zhuche/', methods=['GET','POST'])
def login ():
if request.method =='GET':
return render_template('zhuche.html')#跳转注册
else:
usern = request.form.get('username')
passw = request.form.get('password')
nickn = request.form.get('nickname')
user = User.query.filter(User.username == usern).first()
if user:
return u'username existed'
else:
user1 = User(username = usern,password = passw,nickname = nickn)
db.session.add(user1)#数据库操作
db.session.commit()
return redirect(url_for('gg'))
@app.route('/tupian/')
def hh():
return render_template('tupian.html') #跳转图片库
@app.route('/fabu/')
def fabu():
return render_template('fabu.html') # 跳转发布
@app.context_processor
def context():
usern = session.get('user')
if usern:
return {'username': usern }
else:
return {}
@app.route('/logout/')
def logout():
session.clear()
return redirect(url_for('shouye'))
if __name__ == '__main__':
app.run(debug=True)
<!DOCTYPE html>
<html>
<head>
<meta charset="utf-8">
<title>
首页
{% block shouyetitle %}{% endblock %}
{% block denglutitle %}{% endblock %}
{% block zhucetitle %}{% endblock %}
{% block tupiantitle %}{% endblock %}
</title>
<link rel="stylesheet" type="text/css" href="../static/css/tupian.css">
<link rel="stylesheet" href="http://cdn.static.runoob.com/libs/bootstrap/3.3.7/css/bootstrap.min.css">
<script src="../static/js/denglu.js"></script>
<script src="../static/js/regis.js"></script>
{% block shouyehead %}{% endblock %}
{% 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('shouye') }}">首页</a>
</div>
<div>
<ul class="nav navbar-nav">
{% if username %}
<li><a href="#">在线用户:{{ username }}</a> </li>
<li><a href="{{ url_for('logout') }}">注销</a></li>
{% else %}
<li><a href="{{ url_for('gg') }}" onclick="">登陆</a></li>
<li><a href="{{ url_for('login') }}" onclick="">注册</a></li>
{% endif %}
<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('hh') }}" 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>
<p>{{ username }}contextex</p>
</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;">版权所有@FFR</li>
</ul>
</nav>
<script>
</script>
<img src="{{ url_for('static',filename='image/timg.jpg')}}" alt="wo" width="350">
{% block shouyebody %}{% endblock %}
{% block denglubody %}{% endblock %}
{% block zhucebody %}{% endblock %}
{% block tupianbody %}{% endblock %}
</body>
</html>