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游 ...
随机推荐
- UDP协议编程
#接收代码 import socket # 使用IPV4协议,使用UDP协议传输数据 s=socket.socket(socket.AF_INET, socket.SOCK_DGRAM) # 绑定端口 ...
- STM32F10x SPL V3.6.2 集成 FreeRTOS v202112
STM32F10x SPL 集成 FreeRTOS 在整理 GCC Arm 工具链的Bluepill代码示例, 常用外设都差不多了, 接下来是 FreeRTOS, 网上查到的基本上都是基于旧版本的集成 ...
- Codeforces Round #823 (Div. 2) A-D
比赛链接 A 题解 知识点:贪心. 对于一个轨道,要么一次性清理,要么一个一个清理.显然,如果行星个数大于直接清理的花费,那么选择直接清理,否则一个一个清理.即 \(\sum \min (c,cnt[ ...
- 谣言检测(DUCK)《DUCK: Rumour Detection on Social Media by Modelling User and Comment Propagation Networks》
论文信息 论文标题:DUCK: Rumour Detection on Social Media by Modelling User and Comment Propagation Networks论 ...
- 【pytest官方文档】解读- 插件开发之hooks 函数(钩子)
上一节讲到如何安装和使用第三方插件,用法很简单.接下来解读下如何自己开发pytest插件. 但是,由于一个插件包含一个或多个钩子函数开发而来,所以在具体开发插件之前还需要先学习hooks函数. 一.什 ...
- 在mybatis中#{}和${}的区别
文章目录 1.第一个#{} 2.第二个${} 3.区别 1.第一个#{} 解释: 使用#{}格式的语法在mybatis中使用preparement语句来安全的设置值 PreparedStatement ...
- golang的内存管理
0.1.索引 https://blog.waterflow.link/articles/1663406367769 1.内存管理 内存管理是管理计算机内存的过程,在主存和磁盘之间移动进程以提高系统的整 ...
- Python爬虫urllib库的使用
urllib 在Python2中,有urllib和urllib2两个库实现请求发送,在Python3中,统一为urllib,是Python内置的HTTP请求库 request:最基本的HTTP请求模块 ...
- MongoDB - 简单了解
什么是 NoSQL NoSQL 是一种非关系型数据库管理系统,不需要固定的架构,可以避免 JOIN 连接,并且易于扩展. NoSQL 常用于具有庞大数据存储需求的分布式数据存储,通常是大数据和实时 W ...
- Java中String被称为不可变字符串的原因
很多东西,看似可变,实际上不过是是新桃换旧符罢了. 代码: /** * String之所以被称为不可变字符串 */ static void testString(){ String str = &qu ...