亲宝软件园·资讯

展开

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

东瑜 人气:0
[toc] 系统环境:`Ubuntu 18.04.1 LTS` Python使用的是虚拟环境:`virutalenv` Python的版本:`Python 3.6.9` ## 【简说Python WEB】视图函数操作数据库 `app.py`我们需要把5-a中用到了数据库操作,加入到如下代码: ```python @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 %}
{{ wtf.quick_form(form) }} {% endblock %} ``` 演示效果: 第一次没有任何数据,显示为`游客`。 ![](https://img2020.cnblogs.com/blog/1398629/202003/1398629-20200322150024850-248479336.png) 第一次,输入用户名:`小明`。 ![](https://img2020.cnblogs.com/blog/1398629/202003/1398629-20200322150140827-1882265998.png) MySQL数据库插入了一个新的数据。 ```sql mysql> select * from users; +----+----------+---------+ | id | username | role_id | +----+----------+---------+ | 2 | 胡轲 | 2 | | 3 | 小黄 | NULL | | 4 | 小明 | NULL | +----+----------+---------+ 3 rows in set (0.00 sec) ``` 第二次,输入用户名:`小明`。发现数据库里已经有了。 ![](https://img2020.cnblogs.com/blog/1398629/202003/1398629-20200322150348852-15192439.png)

加载全部内容

相关教程
猜你喜欢
用户评论