簡體   English   中英

如何獲得 Flask package 教程與詩歌一起使用?

[英]How do I get the Flask package tutorial work with Poetry?

I'm using Poetry to manage my Python project (dependencies, package, etc) and I'm trying to implement the four-line hello world from Flask documentation: https://flask.palletsprojects.com/en/1.1.x/模式/包/#simple-packages

我的文件夾結構如下所示:

myproject/
  .venv/
  myproject/
    __init__.py
    views.py
  poetry.lock
  pyproject.toml
  README.rst

這兩個文件, init .py:

import myproject.views
__version__ = '0.1.0'

from flask import Flask
app = Flask(__name__)

和views.py:

from myproject import app

@app.route('/')
def index():
    return 'hello world'

然而,當我運行 export FLASK_APP=myproject 和 FLASK_ENV=development 並執行flask run並將我的瀏覽器指向端口時,它說

flask.cli.NoAppException
flask.cli.NoAppException: While importing "myproject", an ImportError was raised:

Traceback (most recent call last):
  File "/myproject/.venv/lib/python3.9/site-packages/flask/cli.py", line 240, in locate_app
    __import__(module_name)
  File "/myproject/myproject/__init__.py", line 1, in <module>
    import myproject.views
  File "/myproject/myproject/views.py", line 1, in <module>
    from myproject import app
ImportError: cannot import name 'app' from partially initialized module 'myproject' (most likely due to a circular import) (/myproject/myproject/__init__.py)

我怎樣才能解決這個問題? 我想使用推薦的模式。

我相信您的問題來自導入__init__.py頂部的視圖。 嘗試將 import 語句移動到文件的末尾,就像教程一樣。

在您的終端中,輸入poetry run flask run

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM