zoukankan      html  css  js  c++  java
  • 【简说Python WEB】视图函数操作数据库

    系统环境:Ubuntu 18.04.1 LTS

    Python使用的是虚拟环境:virutalenv

    Python的版本:Python 3.6.9

    【简说Python WEB】视图函数操作数据库

    app.py我们需要把5-a中用到了数据库操作,加入到如下代码:

    @app.route('/', methods=['GET', 'POST'])
    def index():
        form = NameForm()
        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)
                db.session.commit()
                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))
    

    首先,我们会在数据库查询是否有这个人。如果没有的话,会插入这个username。然后下次,再次执行同样的用户名的话。会提示非常高兴,再一次见到您

    index.hmtl需要修改模板内容,如下:

    {% extends "base.html" %}
    {% import "bootstrap/wtf.html" as wtf %}
    
    {% block title %}zsdblog{% endblock %}
    
    
    {% block content %}
    <div class="container">
            <div class="page-header">
            <h1>您好, {% if name %}{{ name }}{% else %}游客{% endif %},欢迎来到我的博客!</h1>
            {% if not known %}
            <p>很高兴见到你</p>
            {% else %}
            <p>非常高兴,再一次见到您</p>
            {% endif %}
        </div>
    </div>
    {{ wtf.quick_form(form) }}
    {% endblock %}
    

    演示效果:
    第一次没有任何数据,显示为游客

    第一次,输入用户名:小明

    MySQL数据库插入了一个新的数据。

    mysql> select * from users;
    +----+----------+---------+
    | id | username | role_id |
    +----+----------+---------+
    |  2 | 胡轲     |       2 |
    |  3 | 小黄     |    NULL |
    |  4 | 小明     |    NULL |
    +----+----------+---------+
    3 rows in set (0.00 sec)
    

    第二次,输入用户名:小明。发现数据库里已经有了。

  • 相关阅读:
    keypress事件
    input输入框(blur,change,focus)
    click点击以后添加新class,删除其余同名class
    强制数组并且匹配Array
    模拟鼠标事件
    简单的form操作
    鼠标滚轮事件(mousewheel、DOMMouseScroll)
    事件委托技术
    从程序员到项目经理:项目经理必须懂一点“章法”
    JavaScript项目优化总结
  • 原文地址:https://www.cnblogs.com/zhangshengdong/p/12546070.html
Copyright © 2011-2022 走看看