flask 开发的坑
来源:互联网 发布:淘宝抢红包软件真假 编辑:程序博客网 时间:2024/06/05 10:59
一、flask-login 用户管理
Login-Manager 实例创建好之后,并在工厂函数__init__.pfy文件中初始化:login_manager.init__app(app).
而Login-Manager.user_loader()装饰器放在了models.py数据库模型中,导致出现
No user_loader has been installed for this LoginManager. Add one with the 'LoginManager.user_loader' decorator这样的错误,后来将login-manager实例和装饰器放在一起后(__init__.py)中之后,解决问题
login_manager.init_app(app)
from app.models import Userfrom app.models import load_user@login_manager.user_loaderdef load_user(user_id): return User.query.get(int(user_id))
@main.route('/')def index(): return render_template('index.html',title='欢迎您')实在main蓝图下的,所以修改注册顺序后解决问题:
from app.auth import auth as auth_blueprintfrom app.main import main as main_blueprintapp.register_blueprint(main_blueprint)app.register_blueprint(auth_blueprint,url_prefix='/auth')
三、创建数据库时出现“”“RuntimeError: application not registered on db instance and no applicationbound to current context”,原因是创建的app没有注册在数据库实例上,解决方法如下:http://piotr.banaszkiewicz.org/blog/2012/06/29/flask-sqlalchemy-init_app/
四、sqlite数据库创建完成后,却无法成功创建上数据表,原因是没有导入数据表模型,可在终端中如下执行
E:\Python代码\myproject\hometown>venv\Scripts\activate(venv) E:\Python代码\myproject\hometown>python manage.py shellC:\Users\Administrator\AppData\Local\Programs\Python\Python36\lib\site-packages\flask_sqlalchemy\__init__.py:839: FSADeprecationWarning: SQLALCHEMY_TRACK_MODIFICATIONS adds significant overhead and will be disabled by default in the future. Set it to True or False to suppress this warning. 'SQLALCHEMY_TRACK_MODIFICATIONS adds significant overhead and 'C:\Users\Administrator\AppData\Local\Programs\Python\Python36\lib\site-packages\IPython\core\interactiveshell.py:714: UserWarning: Attempting to work in a virtualenv. If you encounter problems, please install IPython inside the virtualenv. warn("Attempting to work in a virtualenv. If you encounter problems, please "In [1]: from app.model import UserIn [2]: from app import dbIn [3]: db.create_all()In [4]:
五、网站中将保存在项目静态文件中的图片的url链接保存到数据库中,然后再从数据库中读取并渲染到网页中时,由于jinjia2的语法问题以及自己运用不熟练,导致网页中不能
渲染出数据库中的图片,错误代码如下:
<div class="container"> {% for pic in pic_items %} <img src="{{ url_for('static',filename='{{ pic.pic_url }}') }}"/> {% endfor %}</div>所以我在view视图文件中,将所有的图片url链接先存放到列表中,再通过列表把图片url返回网页模板,最后渲染出来
@admin.route('/info_manage')def info_manage(): #将数据库中的图片信息按照id字段进行排序并全部查询,返回一个列表 piclist = Pics.query.order_by(Pics.id) src=[] #将查询到的所有图片链接保存到一个列表中 for p in piclist: src.append(url_for('static',filename=p.pic_url)) # 数据分页显示 page_index = request.args.get('page', 1, int) # 定义数据页,包括数据页和每一页的数据有几行 pagination = piclist.paginate(page_index, per_page=10, error_out=False) pics_items = pagination.items return render_template('admin/info_manage.html', pics_items=pics_items, pagination=pagination,src=src)网页模板中,这个时候的pic就是图片的真实url链接了
<div class="container"> {% for pic in pic_items %} <img src="{{ pic }}" style="width: 30px; height: 30px;"/> {% endfor %}</div>
阅读全文
1 0
- flask 开发的坑
- 【Flask】Flask中关于url_for()的坑
- 【Flask】Flask中关于url_for()的坑
- Flask Web 开发 番外篇_关于扩展引入的坑
- Flask Web开发 邮件功能之windows遇到的坑
- 基于Python的flask的开发实战
- rest开发:flask模块的学习
- Flask Web 开发 服务器的启动
- 【Flask】关于Flask-Admin的一些坑及避开技巧
- Flask之旅《Flask Web开发:基于Python的Web应用开发实战》学习笔记
- 第一部分 flask简介《Flask Web开发:基于Python的Web应用开发实战》
- 用flask开发个人博客(1)—— 一个简单的flask程序
- 用flask开发个人博客(14)—— flask中本地化时间的引用
- 用flask开发个人博客(22)—— 使用Flask-Migrate实现数据库的更新
- Flask系列教程---------------Flask系列教程开发博客功能的github地址
- Flask Web开发 第一部分 virtualenv & 第2章 Flask程序的基本结构
- Flask Web开发
- Flask网站开发常见问题
- 安卓5.1源码解析 : ListView解析 从绘制,刷新机制到Item的回收机制全面讲解
- Kmeans聚类数据分析及Anaconda介绍
- 私有云、公有云or混合云?三步教你如何选择最适云方案
- Bootstrap基础13——媒体media
- 面试心得与总结---BAT、网易、蘑菇街
- flask 开发的坑
- lua教程四
- Intellij IDEA 和maven创建web项目webapp全过程
- ThinkPHP5 域名单独路由
- Action/Func/Lamda/匿名委托
- 安卓5.1源码解析 : RecyclerView解析从绘制流程,ViewHolder复用机制,LayoutManger,ItemAnimator等流程全面讲解
- Date类型转换成String类型和String类型转换成Date类型
- 字符串编程题一道
- 16CF1-A