Python的框架搭建,有七个步骤

第一步:创建项目

首先我们打开pycharm,然后点击第一个Create New Project ,创建一个新的项目。

在选项里面是有一个Flask的,然后就是项目名(建议不要用中文,因为中文容易报错)

然后就是选择环境,注意要选择有Python环境的,如果下拉框里没有,就要在它右边设置键手动添加。

点击create进行创建。

第二步:配置文件的编写

我们开启DEBUG,然后在用app.config.from_object(Config)进行应用

第三步:mysql集成

mysql集成我们首先要去导包

from flask_sqlalchemy import SQLAIchemy

具体使用方式我们进行相关实例化的时候把app传进去,在传的过程当中,是需要两个参数和设置

db = SQLAIchemy(app)

两个参数和设置不需要记住,我们只需要执行让它报出来就可以了

之后就是数据库的连接

SQLALCHEMY_DATABASE_URI = "mysql://root:mysql@127.0.0.1:3306/data"
SQLALCHEMY_TRACK_MOBIDICATIONS = Flask

接下来就是指定对应的数据库,我们要去重新创建一个

我们先进入mysql。然后show databases;查看数据库是否重复,然后输入创建数据库命令 create database输入数据库名。

字符编码集可能出现问题,需要手动去指定character set UTF8;。

之后把数据库名应用到端口后面,那么数据库连接就配置完成

第四步:redis集成的配置

第一步导包

from redis import StricRedis

之后就是实例化StrictRedis(),Ctrl左键进入源码可以看到一些默认参数 host,port,用默认的也可以,但是如果redis可能不在本地的话写在源码里面就是空格,

注意:host传入的是主机号,post传入的是端口号,它们是有默认值的,传入之后就会被代替

所以需要变量来进行一个相关的一个设置,比如说host去等于一个变量,端口号port也等于一个端口号,然后目前把主机号、端口号放配置类里面是最合适的,

我们需要去手动写一个配置信息REDIS_HOST = "127.0.0.1" ,REDIS_PORT = 6379。

之后就是进行实例化

redis_store = StrictRedis(host = COnfig.REDIS_HOST, post = Config.REDIS_POST)

(示例图如下)

第五步:开启csrf

这个就很简单了,当然第一步还是导包

from flask_wtf  import CSRFProtect

然后实例化中进行应用传入app就行了

CSRFProtect (app)

第六步:集成session

还是导包

from flask import Session

在把session(app),放在实例化中。

Ctrl左键查看源码,然后找到SESSION_TYPE = “redis” ,复制下来放在配置类里面,之后在找到下面SESSION_REDIS ,复制下来放在配置类里,这个指的是存储位置。

然后是第三个SESSIN_USB_SIGNBR,复制下来,应用的话就要建立

SECRET_KEY = “fhjskahkjfaskjdfskj”(引号内是乱码保证安全)

SESSION_USE_SIGNER = True

然后进行应用,在导入from flask import session 包,设置session就行了。

第七步:集成脚本

还是导包

from flask_script import Manager

然后在实例化中输入 manager = Manager(app)

之后将之前的app改成 manager(如下图:

在导包

from flask_migrate import Migrate,MigrateCommand

然后在实例化中加入

Migrate(app,db)

manager.add_command("mysql" , MigrateCommand)

项目名后面加一个后缀名mysql init,这个就是迁移文件,成功之后就可以看到本地目录的新建文件。

最新文章

  1. tornado高效开发必备之源码详解
  2. bootstrap之HTML模板
  3. 常用[js,css,jquery,html]
  4. 由项目浅谈JS中MVVM模式
  5. 检查项目里是否有IDFA的方法
  6. angularjs的$filter使用
  7. Redis笔记(一)Redis简介
  8. js打印html中的内容
  9. easyui源码翻译1.32---ProgressBar(进度条)
  10. Delphi的Owner与Parent可以不一致,而且Owner不是必须存在(一共7个问题) good
  11. listview的动态加载数据问题
  12. 程序里面的system.out.println()输出到其他位置,不输出到tomcat控制台。
  13. 赵雅智_BroadcastReceiver电话监听
  14. [zoj解题] 1203
  15. python全栈开发-json和pickle模块(数据的序列化)
  16. Puppeteer 应用容器化
  17. MT【261】左准线
  18. 百度Aip人脸识别之python代码
  19. WPF备忘录(6)WPF实现打印功能
  20. mysql 批量修改字段方法

热门文章

  1. Java入门与进阶 P-1.9+P-1.10
  2. 用if语句替换三元运算符-标准的switch语句
  3. React组件渲染触发的条件-归纳总结
  4. Element ui&图标、按钮、超链接、单选框
  5. 转载:屎人-->诗人系列--码农之歌
  6. PHP的25种框架
  7. 益赛普等TNFi持续治疗强直性脊柱炎的长期疗效观察(≥3年)
  8. P8421 [THUPC2022 决赛] rsraogps
  9. CCProxy网络代理小试牛刀
  10. 【C++复习】第六章 数组、指针、字符串