Flask通过Pycharm导入文件

时间:2015-03-18 21:29:51

标签: python flask pycharm

关于Flask的微博教程:http://blog.miguelgrinberg.com/post/the-flask-mega-tutorial-part-i-hello-world

在Pycharm中,无论我如何构造或命名文件,如果我分离代码并导入文件,我都无法运行dev服务器。无论我在哪里移动init,视图,运行文件,我都无法继承代码。让我运行服务器的唯一方法是让所有命令在同一个文件上执行。我究竟做错了什么?

我把它设置为: 项目1> app(目录)> tmp(目录)> run.py(文件)

app(目录)> static(目录)>模板(目录)> init .py(文件)> views.py(file)(我尝试了不同的安排。)

在views.py中: 来自app import app

在run.py内: 来自app import app

init .py中: 来自flask进口烧瓶 来自应用导入视图

(我尝试了许多不同的组合,例如从应用导入app.views。从应用导入视图作为app_views。我也尝试重命名目录/文件,没有任何工作。)

1 个答案:

答案 0 :(得分:0)

  1. 使用PyCharm构建新项目,它将为您创建一个虚拟环境。然后将它们放到根目录下的run.py中 这样的项目(别忘了在产品中关闭调试模式)

        from app import create_app
        app = create_app()
    
        if __name__ == '__main__':
             app.run(debug=True)
    
    1. 在“应用”中设置 init .py文件:

      def create_app(config_class=Config):
          app = Flask(__name__)
          app.config.from_object(Config)
          db.init_app(app)
          bcrypt.init_app(app)
          login_manager.init_app(app)
          mail.init_app(app)
      
    2. 将您的凭据存储到Config类中

      类配置:     SECRET_KEY ='您的钥匙...'     SQLALCHEMY_DATABASE_URI ='您的数据库...'     SQLALCHEMY_TRACK_MODIFICATIONS =否     MAIL_SERVER ='smtp.google.com'     MAIL_PORT = 587     MAIL_USE_TLS =真     MAIL_USERNAME ='您的电子邮件'     MAIL_PASSWORD ='电子邮件密码'

    3. 结构化项目,将一个空的 init .py放入每个目录(根据您的体系结构)。下面是一个示例,说明如何在Flask中构建项目。它在

    4. 上运行没有问题

    . ├── README.md ├── app │   ├── __init__.py │   ├── config.py │   ├── errors │   │   ├── 403.html │   │   ├── 404.html │   │   ├── 500.html │   │   ├── __init__.py │   │   └── handlers.py │   ├── main │   │   ├── __init__.py │   │   └── routes.py │   ├── models.py │   ├── posts │   │   ├── __init__.py │   │   ├── forms.py │   │   └── routes.py │   ├── site.db │   ├── static │   │   ├── main.css │   │   └── profile_pics │   │   ├── 3c4feb2bb50d90df.png │   │   ├── ba3d328163a8125e.png │   │   └── default.jpg │   ├── templates │   │   ├── about.html │   │   ├── account.html │   │   ├── create_post.html │   │   ├── home.html │   │   ├── layout.html │   │   ├── login.html │   │   ├── post.html │   │   ├── register.html │   │   ├── reset_request.html │   │   ├── reset_token.html │   │   └── user_posts.html │   └── users │   ├── __init__.py │   ├── forms.py │   ├── routes.py │   └── utils.py └── run.py