首页 > 数据库技术 > 详细

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

时间:2020-03-22 16:00:55      阅读:63      评论:0      收藏:0      [点我收藏+]

系统环境: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)

第二次,输入用户名:小明。发现数据库里已经有了。
技术分享图片

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

原文:https://www.cnblogs.com/zhangshengdong/p/12546070.html

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!