数据库-视图函数

如果每次都要在shell中进行数据库的操作,估计是一件十分不爽的活动,因此最好是在视图函数中通过可视化的方式进行操作。

hello.py中index()视图函数修改

@app.route('/',methods=['GET','POST'])
def index():
    form = NameFome()
    if form.validate_on_submit():
        user = User.query.filter_by(username=form.name.data).first()
        if user is None:
            user = User(username = form.name.data)
            db.session.add(user)
            session['known'] = False
        else:
            session['known'] = True
        session['name'] = form.name.data
        form.name.data =''
        return redirect(url_for('index'))
    return render_template('index.html',form=form,name=session.get('name'), known=session.get('known',False))

变动说明:

  • 采用查询判断提交的user是否存在数据库中
  • 增加了数据库提交db.session.add(user)
  • 在session中增加known用于传递给模板

模板修改

{% extends 'base.html' %}
{% import "bootstrap/wtf.html" as wtf %}
{% block page_content %}
<div class='page_content'>
    <h1>Hello,
        {% if name %} {{ name }}
        {% else %}Stranger
        {% endif %}!
    </h1>
    {% if not known %}
    <p>Pleased to meet you </p>
    {% else %}
    <p>Happy to see you again</p>
    {% endif %}
</div>
{{ wtf.quick_form(form) }}
{% endblock %}

增加一个条件语句用于针对不同用户显示不同内容

上一篇:基于Flink和规则引擎的实时风控解决方案


下一篇:实时计算无线数据分析