登录之后更新导航

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="width: 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>

 

posted @ 2017-11-24 21:58  会搓火球的单身狗  阅读(139)  评论(0编辑  收藏  举报