美文网首页
1-创建项目并运行

1-创建项目并运行

作者: Double_Chen | 来源:发表于2018-11-08 15:22 被阅读36次

    准备工作

    我在Mac上开发的,开发工具就使用PyCharm,sublime也可以,不过既然是新手当然还是别给自己找麻烦了,使用一个方便快捷的工具会更好;

    数据库用mysql,安装方式网上很多,就请自行查找了。安装完毕后在"系统偏好设置"-底部会有“MySQL”的入口,点进去启动mysql server即可,记好账号密码,我们后面会用到;

    Python版本是3.6

    学习flask前最好有一些Python基础,懂一些PyCharm编译器操作,还有终端pip工具的使用。

    新建项目

    现在我们可以开始建立一个项目来玩玩了,打开PYCharm,新建项目(new project)选择Flask类型,设置路径、文件名,我这里就将文件名设置为"flask_chat"

    此时PYCharm会帮我们创建好必要文件,没有意外的话,文件目录是这样的:

    //加"-"表示他是文件夹
    -flask_chat
        -static 
        -templates
        -venv
        flask_chat.py
    

    static: 用于存放静态文件,如.css、.js等

    templates: 用于存放模板,像.html这些

    venv: 虚拟环境,因为可能会有多个Python项目使用不同版本的Python库,虚拟环境可以为每一个项目安装独立的Python库,这样可以隔离开项目与项目之间的Python库,也可以隔离项目与操作系统之间的Python库

    flask_chat.py: 运行文件,我习惯将它重命名为app.py,这样目录就变成了:

    -flask_chat
        -static 
        -templates
        -venv
        app.py
    

    运行项目

    打开app.py,可以看到编译器已经为我们编写好的必要代码:

    from flask import Flask
    
    app = Flask(__name__)
    
    
    @app.route('/')
    def hello_world():
        return 'Hello World!'
    
    
    if __name__ == '__main__':
        app.run()
    

    我们尝试运行一下,控制台会打印:

     * Serving Flask app "app" (lazy loading)
     * Environment: production
       WARNING: Do not use the development server in a production environment.
       Use a production WSGI server instead.
     * Debug mode: off
     * Running on http://127.0.0.1:5000/ (Press CTRL+C to quit)
    

    说明运行成功,上面包含了许多信息,我们只需要关注:

    Debug mode: off
    Running on http://127.0.0.1:5000/ (Press CTRL+C to quit)
    

    这两条信息说明两点:

    1.当前debug模式是关闭的,debug模式如果开启,我们在频繁的修改代码后,服务器会自动重启使我们改动的代码生效,在开发阶段十分有用

    2.服务器成功运行,在浏览器输入"http://127.0.0.1:5000/"即可进入服务器,在网页前端中看到 Hello World! 字样

    运行失败的情况

    如果运行失败,因为代码是编译器自动生成,不会有问题,那应该就是关键库没有导入,在这里我们只需要导入"flask"库,在PyCharm-preferences-Project:flask_chat-Project Interpreter中查看当前已有的库,如果没有flask库就导入。

    GitHub链接

    相关文章

      网友评论

          本文标题:1-创建项目并运行

          本文链接:https://www.haomeiwen.com/subject/ebewxqtx.html