初识flask--启动flask项目与基本配置

1. 第一个flask项目,使用pycharm新建一个flask项目

在这里插入图片描述
然后点击create按钮,就成功的创建好了一个flask项目。然后我们点击运行按钮,在网页中输入http://127.0.0.1:5000/就能够看到我们的hello world了表示我们项目新建成功,并且没有任何问题。

2. 项目文件解析

当我们新建好了一个文件之后,整个项目的目录结构如下:

在这里插入图片描述

  1. static:这个文件里面一般存放整个项目的所有静态文件,如css,js等文件
  2. templates: 这个文件夹里面一般存放所有模板文件,也就是html文件.
  3. app.py:整个项目的入口文件

3. apps.py文件代码解释

# 从flask框架中导入Flask类
from flask import Flask

# 实例化Flask对象,__name__ 是这个文件的名字,因为我们
# 这个文件的名字为app.py,所以__name__的值为"app"
app = Flask(__name__)

# app.route() 一个装饰器,传入的参数就为当前视图的url
# 当我们运行flask项目时,默认为打开5000端口,我们通
# 过http://127.0.0.1:5000端口就能访问到我们启动的项目,
# 这里传入的是"/",我们直接输入http://127.0.0.1:5000/就能访问到这个函数(也称视图)
# 如果传入的是"/test/",那么我们访问这个函数的时候的url就为http://127.0.0.1:8000/test/了
@app.route('/')
# 函数主体 
def hello_world():
    return 'Hello World!'

# 如果这个文件不是当做一个模块被导入时,就会执行这个里面的代码
if __name__ == '__main__':
    # 启动项目
    app.run()

4. 项目配置

1. DEBUG模式

flask项目默认的DEBUG模式是关闭的,一般我们在开发的时候需要打开DEBUG模式。

怎样代开DEBUG模式

当我们没有打开DEBUG模式的时候,运行项目之后控制台是这样的
在这里插入图片描述
在pycharm2018版本及以上中,已经不能通过代码来打开和关闭DEBUG模式了,知识使用pycharm来打开和关闭DEBUG模式

在这里插入图片描述
在这里插入图片描述
这样,我们就打开我们的DEBUG模式了.然后我们运行项目,就能够看到DEBUG模式已经被打开了
在这里插入图片描述

打开DEBUG模式的优点

  1. 当我们更新了代码之后,按下ctrl+s之后,整个flask项目就会自己重新启动,加载我们修改的代码
  2. 当我们没有开启DEBUG模式的时候,如果我们写的代码出错了,那么在网页是不会显示出来的,需要我们自己去控制台查看错误。网页上只会显示一个错误的页面给我们。为了演示效果,首先我们修改一个错误出来,在app.py文件中的hello_world函数中我们修改代码:
@app.route('/')
# 函数主体
def hello_world():
    a = 1
    b = 0
    c = a/b
    return 'Hello World!'

然后我们启动项目,在浏览器中输入127.0.0.1:5000,然后就会加载这个hello_world函数,但是因为0是不能被除的,所肯定会报错的。网页上就会显示如下页面
在这里插入图片描述
出现这样的页面肯定不是我们希望看到的,我们想要看到的具体的错误之类的东西,而当我们打开DEBUG之后,我们就能够看到具体的错误信息了。如下图所示
在这里插入图片描述
这样,我们就能看到具体的错误与错误的行数了.

在每行错误代码提示的右边,我们可以看到有一个小终端样式的图表,而且可以点击,这个是给我们用来调试代码的,方便我们查找错误和定位错误

我们点击这个小终端图标,就会弹出一个模态对话框,让我们输入密码,如下图:
在这里插入图片描述
这个PIN在我们的pycharm控制台中可以看到
在这里插入图片描述
然后我们将这个PIN输入进去,就可以开始调试了,PIN中间的-是可以省略的

然后我们就可以开始调试了
在这里插入图片描述

打开DEBUG的缺点
容易被别人看到我们的代码漏洞,从而恶意攻击我们的网站,所以我们在生产环境下降DEBUG模式打开,便于我们调试代码,而部署项目到线上时,就需要关闭DEBUG模式,保证我们网站的安全性

2. 域名与端口的配置

和配置DEBUG一样,首先打开Edit Configuration 界面

  1. 配置端口为8000,默认为5000端口。
    在这里插入图片描述
  2. 配置域名为0.0.0.0,默认是127.0.0.1
    在这里插入图片描述
    配置域名为0.0.0.0的意思是别人的电脑也能访问你的这个flask项目,只需要别人输入你的电脑的ip地址和相应端口号就能够访问了,而127.0.0.1就只能自己电脑访问这个项目。
    当配置域名为0.0.0.0之后,想要别人能够访问你的项目,还必须得打开防火墙,打开防火墙,打开防火墙!!!
  3. 域名和端口一起配置 在这里插入图片描述
    注意:
  • port和host前面必须为两个--,少一个都不行,会报错
  • –port和–host一起配置时,中间需要由空格,如果没有的话,也会报错
  • 在pycharm2018版本及以后,是不能通过代码的方式修改域名与端口的,所以本文并没有列出相关的配置方法。想了解的可自行百度 了解
3. 项目的其他配置

在整个项目中,后面们使用一些东西的时候都避免不了做一些相关的配置,所以我们一把会单独新建一个configs.p文件,用来存放所有的配置信息.如图所示
在这里插入图片描述
然后我们会将相关的配置信息写在这个文件里面,然后再app.py文件中导入引用,写入以下代码就能够导入配置文件了,配置文件的格式就是xxx=xxx

from flask import Flask
import configs
app = Flask(__name__)
app.config.from_object(configs)

我们也可以使用另外一种方法导入配置文件

# 从flask框架中导入Flask类
from flask import Flask
# import configs
app = Flask(__name__)
# app.config.from_object(configs)
app.config.from_pyfile('configs.py')

这样,我们就不用导入configs模块了,直接在app.config.from_pyfile中传入参数,即文件的名字就可以了

这个函数还有一个silent参数,默认为False,意思就是当传入的参数这个文件找不到的时候,会终止程序,抛出异常。当我们设置silent参数为True时,当找不到这个文件的时候,也不会终止程序,还是会直接运行,只是flask项目并不会去加载我们的配置文件了。所以一把我们就默认为False就行了。

其实app.config是一个字典对象,我们也可以直接添加配置信息,不写在configs.py文件中,例如:

# 从flask框架中导入Flask类
from flask import Flask
# import configs
app = Flask(__name__)
# app.config.from_object(configs)
# app.config.from_pyfile('configs.py')
app.config['xxx'] = 'xxx'

这样也是可以的,值是这样的话当配置信息很多时,就需要写很多代码,不方便,所以一般我们都会写在配置文件中,然后导入.

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章