1. Flask概述

python的一个框架,目录结构随意

https://www.cnblogs.com/HarryChis/p/11123462.html
pip安装

2.编写

https://www.cnblogs.com/hongdanni/p/11922575.html

3.项目实战

3.1目录

/flask
  /static
  /templates
   show_entries.html
   login.html
   layout.html
  flask.py
  schema.sql

3.2步骤

1、 创建文件夹(以上目录)
2、 创建数据库表
3、 创建flask.py
4、 数据库设置
def connect_db():
  “”“Connects to the specific database.”""
  rv = sqlite3.connect(app.config[‘DATABASE’])
  rv.row_factory = sqlite3.Row //用sqlite3.Row来表示数据库中的行
  return rv
//sqlite3 轻量级数据库 ,Python库内置的(不需要安装任何服务器端/客户端软件,也不需要运行某个服务,只要你在Python中导入库并开始编程),
5、 连接数据库
def get_db():
  “”“Opens a new database connection if there is none yet for the
  current application context.
  “””
  if not hasattr(g, ‘sqlite_db’):
  g.sqlite_db = connect_db()
  return g.sqlite_db
//首次调用的时候会为当前环境创建一个数据库连接,调用成功后返回已经建 立好的连接

关闭数据库
@app.teardown_appcontext
def close_db(error):
  “”“Closes the database again at the end of the request.”""
  if hasattr(g, ‘sqlite_db’):
  g.sqlite_db.close()

6、 创建数据库
我们可以创建一个名为 init_db 的函数来初始化数据库。 只需要把这个函数放在 flaskr.py 里的 connect_db 函数的后面:
def init_db():
  with app.app_context(): //建立应用环境
    db = get_db() //打开应用提供的资源
  with app.open_resource(‘schema.sql’, mode=‘r’) as f: //open用于执行脚本
    db.cursor().executescript(f.read())
  db.commit()

7、 显示函数
@app.route(’/’) // 路由
def show_entries():
  cur = g.db.execute(‘select title, text from entries order by id desc’)// 执行sql语句
  entries = [dict(title=row[0], text=row[1]) for row in cur.fetchall()] // 把位于最上方的记录作为字典返回给show_entries.html
  return render_template(‘show_entries.html’, entries=entries)
8、 添加函数
@app.route(’/add’, methods=[‘POST’])
def add_entry(): //定义一个函数
  if not session.get(‘logged_in’): //用户登入检查
    abort(401) // 生成SIGABRT信号 os.abort
  g.db.execute(‘insert into entries (title, text) values (?, ?)’,
      [request.form[‘title’], request.form[‘text’]])
  g.db.commit()
  flash(‘New entry was successfully posted’)
  return redirect(url_for(‘show_entries’))

9、 页面设计(HTML文件)
使用Jinja2 作为模板引擎

4 遇到的问题及解决办法

1 ‘list’ object has no attribute ‘words’
list列表对象没有words这个属性

senwords = Senword.query.filter_by(dept_id=current_user.dept_id).all()_out_senword = ''
for senword in senwords:_out_senword = _out_senword + senword.words + '、'
return render_template('manage/hl_editInfo.html', temp=tempObj, this_data=this_data,  senwords=_out_senword)
        转为字符串

2 local variable ‘tempObj’ referenced before assignment
局部变量’tempObj’在赋值前被引用
同样的方法写了两遍

Python-Flask相关推荐

  1. 全栈Python Flask教程-建立社交网络

    Learn how to build a basic social platform with the Python Flask web framework. 了解如何使用Python Flask网络 ...

  2. python flask高级编程之restful_('Python Flask高级编程之RESTFul API前后端分离精讲',),全套视频教程学习资料通过百度云网盘下载...

    资源详情 r n t某课网好评度100%的Python Flask高级编程之RESTFul API前后端分离精讲 r n t t t第1章 随便聊聊 r n t t t聊聊Flask与Django,聊 ...

  3. python flask实现博客系统_基于Flask的博客网站设计与实现

    涂远杰 郑剑 摘要:该博客系统是一款分享型博客,注重个人的学习心得.生活等方面的记录.后台基于Python中的Flask框架开发,还涉及爬虫,数据库使用的是轻型的SQLite,同时,前端页面的实现涉及 ...

  4. python Flask框架如何请求及返回数据——flask详细教程

    python Flask框架如何请求及返回数据--flask详细教程 文章目录: 1 Flask介绍 1.1 Flask简单介绍 1.2 Flask相关资料信息 2 Flask快速入门 2.1 Fla ...

  5. python开源项目博客_Blog_mini首页、文档和下载 - Python Flask开源博客 - OSCHINA - 中文开源技术交流社区...

    使用Blog_mini,你完全不用担心博客的管理问题! Blog_mini是一个用Python Flask开发的,拥有简洁页面(支持响应式布局!)和强大后台管理功能的开源博客系统,使用Blog_min ...

  6. 用python+flask自己制作api(教程附源码)

    1.背景 ok,可能很多朋友跟我一样经常使用各种api,比如facebook的,github的,甚至是微信的api.所以很多人也想制作自己的api.网上关于这方面的教程实在是很少,今天我就顺手做了一个 ...

  7. Build Docker image of a Python Flask app【转载】

    原文地址:https://stackoverflow.com/questions/41750366/build-docker-image-of-a-python-flask-app I'm tryin ...

  8. Python Flask web 项目零改动迁移至阿里云函数计算

    引言 最近尝试了一下阿里云的函数计算,整体感觉很好,主要是省钱!下面就简单聊一下,如何将 Python Flask 的 web 项目迁移至函数计算. 创建一个银行卡校验的 RestAPI 文件名:in ...

  9. 注意:python flask 里image文件 css文件 html文件都必须有固定存放位置!

    html文件放在templates文件夹里 css文件和image文件都放在static文件夹里 Flask 中 CSS 能否放在其他位置? 但貌似也是能够自定义位置的 Flask静态文件目录地址自定 ...

  10. Python flask出现jinja2.exceptions.TemplateNotFound错误(修复host就好了???)

    源代码: from flask import Flask, render_template, Response import cv2app = Flask(__name__)# camera = cv ...

最新文章

  1. 这里先发布一个,自己写得unityUI的适配的方案(插播)
  2. Redis-09Redis的基础事务
  3. 整合Tomcat和Nginx实现动静态负载均衡
  4. bms中soh计算方式_BMS电池管理系统由浅入深全方位解析
  5. (十三)RabbitMQ使用详解
  6. 巧用windows xp远程桌面web连接
  7. Java—重入锁的理解
  8. android p ify 三星,Enjarify - Android逆向(二)
  9. php制作调查问卷,用PHP制作饼图调查表
  10. tp框架like模糊查询报错
  11. 用于检测未知恶意软件的深度学习方法
  12. win10录屏_不为人知的win10隐藏功能,一键录屏,你还不知道?
  13. 如何利用Python爬虫爬取小说网站并保存到txt文件
  14. 软考:计划评审技术(PERT)三点估算法计算工期、标准差、完成概率
  15. 中兴盒子B860AV1.1-T2版刷公版固件教程
  16. Linux常用基本命令详解(二)-------磁盘分区和磁盘管理类命令
  17. 化妆品标签宣称禁用词、风险词汇总
  18. 服务器绑定自己的域名-腾讯云(超详细)
  19. oracle数据库 number类型,oracle 数据库 NUMBER类型细讲
  20. 易算数学公式计算器介绍

热门文章

  1. selenium webdriver操作chrome options、 启用无痕模式、缓存烦恼
  2. 算术表达式求值(C语言栈)
  3. 数据挖掘与数据分析的主要区别是什么?
  4. 物流运交管理系统 货运单管理
  5. php mail 垃圾邮件,如何避免我的邮件从PHP邮件()被标记为垃圾邮件? - 程序园
  6. html 图片滑动验证码,selenium滑动验证码
  7. asp.net 将中文翻译成拼音(VS2008)
  8. Kubernetes 学习总结(25)—— Kubernetes 中的 pod 与容器的区别和联系
  9. 最长上升子序列(LIS) 学习总结
  10. 聊一聊Spring中@Transactional注解及其失效的七种场景