簡體   English   中英

Flask 導入錯誤:無法導入名稱應用

[英]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 

appsite.views中定義,所以你需要從那里導入它。

from site.views import app

如果人們仍然遇到此問題,請將文件夾名稱從站點更改為其他名稱(例如網站),並在從站點導入時將其更改為新文件夾名稱。

我想 Flask 中有些東西會阻止您命名目錄站點。

暫無
暫無

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

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