[英]Flask ImportError: cannot import name app
在本教程中設置一個簡單的 Flask 應用程序后, run.py
文件包含:
from site import app
import os
app.secret_key = os.urandom(24)
app.run(debug=True)
我有site/__init__.py
from .views import app
from .models import graph
在site/views.py
from .models import User, get_todays_recent_posts
from flask import Flask, request, session, redirect, url_for, render_template, flash
app = Flask(__name__)
帶有一堆@app.route
函數
site/models.py
有
from py2neo import Graph, Node, Relationship
from passlib.hash import bcrypt
from datetime import datetime
import os
import uuid
graph = Graph()
我在run.py
的第一行不斷收到ImportError: cannot import name app
錯誤。
所有其他問題似乎都是循環導入問題,但我確定我沒有。
我沒有像項目中描述的那樣創建虛擬環境,這可能是問題嗎?
我在 Windows 上使用 python2.7。
編輯:
解決這個問題的方法是將整個項目重組為一個 .py 文件,無論如何,這感覺就像一個更清晰的文件結構。
看源碼
你會在site/__init__.py
from .views import app
這在site
模塊中聲明了app
,因此允許您在運行模塊中使用它
from site import app
否則,你需要
from site.views import app
app
在site.views
中定義,所以你需要從那里導入它。
from site.views import app
如果人們仍然遇到此問題,請將文件夾名稱從站點更改為其他名稱(例如網站),並在從站點導入時將其更改為新文件夾名稱。
我想 Flask 中有些東西會阻止您命名目錄站點。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.