Python全栈工程师之从网页搭建入门到Flask全栈项目实战(7) - 在线问答系统
1.项目源码/业务逻辑
百度网盘链接:链接:https://pan.baidu.com/s/13VNfrSJE6vcL3HP1J5T8ew 提取码:00s0,项目业务逻辑自行阅读
2.项目搭建
👇点击新建New Project,选择Flask项目
👇选择项目路径和使用Virtualenv新建项目虚拟环境
- Locatiaon:项目路径
- New environment using Virtualenv_Loacation:项目的虚拟环境
配置Flask启动等相关配置
配置方式一:
- Target:主文件/启动文件名
- Additional options:设置端口号
- FLASK_ENV:development开发模式
- FLASK_DEBUG:启动勾选上
配置方式二:之前笔记有,详见https://www.cnblogs.com/gltou/p/16803722.html
配置项目镜像源:点击pycharm底部的【Python Packages】,切换镜像源,这样项目在pycharm中下载一些类库会很快。常见镜像源如下👇
- 清华: https://pypi.tuna.tsinghua.edu.cn/simple
- 阿里云: http://mirrors.aliyun.com/pypi/simple/
- 中国科技大学: https://pypi.mirrors.ustc.edu.cn/simple/
- 华中理工大学: http://pypi.hustunique.com/
- 山东理工大学: http://pypi.sdutlinux.org/
- 豆瓣: http://pypi.douban.com/simple/
安装当前项目需要的类库:
- flask-wtf
- flask-sqlalchemy
- mysqlclient
会出现多个同样的,pycharm将你配置的镜像源中的也展示出来了,根据灰色的地址信息,优先安装配置的镜像源,速度快。点击Install Package安装
部分类库安装不上时:
- 方法一:升级项目的pip包 python -m pip install -U pip ,升级成功后,再回到👆步骤重新安装(我使用过程中此方法不行)
- 方法二:官网把包下载下来,进行安装。【地址一、地址二】,点击链接自动跳转,地址一可以查看相关安装说明
ORM相关类库安装图示版本,稳定。
3.项目环境技术栈
pip镜像源:
- 清华大学:https://pypi.tuna.tsinghua.edu.cn/simple/
- pip install flask -i https://pypi.tuna.tsinghua.edu.cn/simple/
Flask
- flask微框架
- Jinja2模板引擎
依赖安装
- mysqlclient
- flask-wtf
- flask-sqlalchemy
- flask-login
- flask-ckeditor
4.项目代码/知识点补充讲解
4.1.相关快捷键
- 代码样式格式化快捷键:Ctrl+Alt+L
- 其他的自行百度
4.2.PDMan数据库建模
数据库模型编写的辅助工具,使用教程:https://blog.csdn.net/yjrguxing/article/details/112256692
4.3.蓝图
项目代码新的知识点,点击链接自行学习,此处不赘述:https://www.bbsmax.com/A/xl56Pmrkzr/,https://www.cnblogs.com/Blogwj123/p/16475980.html
4.4.函数注册自定义 过滤器
学习文档:https://developer.aliyun.com/article/1081645
4.5.Flask-login模块
使用详见:https://www.cnblogs.com/minsons/p/8045916.html
4.6.Flask常用扩展
- Flask-SQLalchemy:操作数据库;
- Flask-script:插入脚本;
- Flask-migrate:管理迁移数据库;
- Flask-Session:Session存储方式指定;
- Flask-WTF:表单;
- Flask-Mail:邮件;
- Flask-Bable:提供国际化和本地化支持,翻译;
- Flask-Login:认证用户状态;
- Flask-OpenID:认证;
- Flask-RESTful:开发REST API的工具;
- Flask-Bootstrap:集成前端Twitter Bootstrap框架;
- Flask-Moment:本地化日期和时间;
- Flask-Admin:简单而可扩展的管理接口的框架
- timeago:计算两个不同时间的时间差, https://blog.csdn.net/jy692405180/article/details/52254047,https://www.cnpython.com/qa/1331834
4.7.app.py文件
app = Flask(__name__,static_folder='assets') :flask项目创建好后,下图的【static、templates、app.py】是默认的目录结构。static_folder属性:用来指存放静态文件的目录,默认情况下访问的是static目录中的文件,但是项目代码中静态文件是放到assets目录中,因此要设置static_folder