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
Python全栈工程师之从网页搭建入门到Flask全栈项目实战(7) - 在线问答系统的更多相关文章
- Python全栈工程师之从网页搭建入门到Flask全栈项目实战(1) - ES6标准入门和Flex布局
1.简述 1.什么是ES6?ES6, 全称 ECMAScript 6.0,是 JavaScript 的下一个版本标准,2015年6月份发版.ES6的主要目的是为了解决 ES5 的先天不足. 2.了解E ...
- Python全栈工程师之从网页搭建入门到Flask全栈项目实战(3) - 入门Flask微框架
1.安装Flask 方式一:使用pip命令安装 pip install flask 方式二:源码安装 python setup.py install 验证 第一个Flask程序 程序解释 参数__na ...
- Web全栈工程师修养
全栈工程师现在是个很热的话题,如何定义全栈工程师?在著名的问答网站Quora上有人提出了这个问题,其中一个获得了高票的回答是: 全栈工程师是指,一个能处理数据库.服务器.系统工程和客户端的所有工作的工 ...
- 阿里巴巴年薪800k大数据全栈工程师成长记
大数据全栈工程师一词,最早出现于Facebook工程师Calos Bueno的一篇文章 - Full Stack (需fanqiang).他把全栈工程师定义为对性能影响有着深入理解的技术通才.自那以后 ...
- Asp.Net Core 项目实战之权限管理系统(1) 使用AdminLTE搭建前端
0 Asp.Net Core 项目实战之权限管理系统(0) 无中生有 1 Asp.Net Core 项目实战之权限管理系统(1) 使用AdminLTE搭建前端 2 Asp.Net Core 项目实战之 ...
- EFCodeFirst快速搭建入门
EFCodeFirst快速搭建入门 1.新建Model类库项目. 添加EntityFramework.dll的引用. 编写实体类Course,Student. namespace EFCodeFirs ...
- 测开之Python自动化全栈工程师+性能专项(送思维导图)
测开之Python自动化全栈工程师+性能专项 功能测试基础 接口测试基础接口的通信原理与本质cookie.session.token详解接口测试的意义与测试方法接口测试用例的设计 app测试 app流 ...
- Python全栈工程师(装饰器、模块)
ParisGabriel 每天坚持手写 一天一篇 决定坚持几年 全栈工程师 Python人工智能从入门到精通 装饰器 decorators(专业提高篇) 装饰 ...
- Python全栈工程师(递归函数、闭包)
ParisGabriel 每天坚持手写 一天一篇 决定坚持几年 全栈工程师 Python人工智能从入门到精通 函数式编程: 是指用一系列函数解决问题 每一个函数完成细 ...
- 【目录】python全栈工程师
第一阶段:Python 语言核心编程1. Python核心 -- 2048 游戏核心算法2. 面向对象 -- 天龙八部游戏技能系统3. Python高级 -- 集成操作框架项目:2048游 ...
随机推荐
- C语言在Linux下创建一个僵尸进程
第三章编程题3.12 1.僵尸进程是什么 每一个进程都有一个PCB(进程控制块),其中包含进程执行的状态等一系列信息. 当父进程fork()出一个子进程,子进程执行结束后操作系统会回收子进程使用的内存 ...
- 一天五道Java面试题----第七天(mysql索引结构,各自的优劣--------->事务的基本特性和隔离级别)
这里是参考B站上的大佬做的面试题笔记.大家也可以去看视频讲解!!! 文章目录 1 .mysql索引结构,各自的优劣 2 .索引的设计原则 3 .mysql锁的类型有哪些 4 .mysql执行计划怎么看 ...
- springboot+vue 实现校园二手商城(毕业设计一)
1.功能划分 2.实现的效果 2.1 登录页面 2.2 注册页面 2.3 商城首页 2.4 商品详情 2.5 购物车 2.6 订单 2.7 在线交流 2.8 公告信息 2.9 个人信息 3.后台管理界 ...
- token字段,请务加在请求地址的头部header
如下图所示,你必须在请求的头部加上 token参数,主要原因有两个.第一点,这个是登录标志,因为接口访问用不了cookie,所以只能通过这个header请求标志判断用户是否已经登录.第二点,系统有时候 ...
- 基于vite3+tauri模拟QQ登录切换窗体|Tauri自定义拖拽|最小/大/关闭
前两天有给大家分享tauri+vue3快速搭建项目.封装桌面端多开窗口.今天继续来分享tauri创建启动窗口.登录窗口切换到主窗口及自定义拖拽区域的一些知识.希望对想要学习或正在学习的小伙伴有些帮助. ...
- 24.-Django生成csv文件及下载
一.csv文件定义 逗号分隔值(comma-separated values, csv,有时页称字符分隔值,因为分分隔字符页可以不是逗号),其文件以纯文本形式存储表格数据(数字和文本) 说明:可被常见 ...
- Seata 环境搭建
在使用微服务中,单体事务注解@Transactional 就不适用了,需要采用分布式事务解决方案,本文介绍分布式事务Seata的安装.Seata一款开源的分布式事务解决方案,致力于在微服务架构下提供高 ...
- Pictionary 方法记录
[COCI2017-2018#5] Pictionary 题面翻译 题目描述 在宇宙一个不为人知的地方,有一个星球,上面有一个国家,只有数学家居住. 在这个国家有\(n\)个数学家,有趣的是,每个数学 ...
- Java集合精选常见面试题
前言 博主只是这篇文章的搬运工,为了加强记忆自己梳理了一遍并扩展了部分内容. 集合拓展链接:集合概述&集合之Collection接口 - 至安 - 博客园 (cnblogs.com) Java ...
- .NET性能优化-是时候换个序列化协议了
计算机单机性能一直受到摩尔定律的约束,随着移动互联网的兴趣,单机性能不足的瓶颈越来越明显,制约着整个行业的发展.不过我们虽然不能无止境的纵向扩容系统,但是我们可以分布式.横向的扩容系统,这听起来非常的 ...