2014-08-28 74 views
2

問題是IntelliJ Studio 13不想識別導入。我有這樣的代碼IntelliJ不想導入

一個名爲「app」的文件夾。它裏面

__init__.py

from flask import Flask 

app = Flask(__name__) 

from app import views, models 

views.py

from flask import render_template, request 
from models import * 
from app import * 

@app.route('/') 
@app.route('/index') 
def index(): 
    return "123" 

現在views.py的 「從應用程序導入*」 是灰色爲未使用,並有一個紅色警告在@app與「未解決的參考」應用程序「

任何人都可以解釋我爲什麼這種情況ng以及這個問題的解決方法。在此先感謝

+2

既然你是從模型和應用程序導入一切,爲什麼不只是使用'導入模型,應用程序? – RevanProdigalKnight 2014-08-28 14:49:55

+1

有時我遇到了同樣的問題,我不知道爲什麼,但我通常會重新啓動IDE或等待IDE完成解析程序包。 – PageNotFound 2014-08-28 14:57:23

+0

@RevanProdigalKnight如果我寫入導入應用程序的作品。謝謝。如果你想讓它成爲答案。 – OWADVL 2014-08-28 14:59:29

回答

2

from app import *將包的內容導入當前命名空間。所以路由功能將從應用程序包導入到當前名稱空間中。可作爲route()調用。

import app將導入應用包到當前的命名空間命名應用的對象。可作爲app.route()

一般情況下,from app import *的使用是令人不悅的,除非您確定這是您想要做的事情。 from app import route將是優選的。

+0

你是對的。但@RevanProdigalKnight 8分鐘擊敗你:D – OWADVL 2014-08-28 15:00:49

+1

@OWADVL哦,接受艾薩克的回答。我不介意沒有獲得積分。 – RevanProdigalKnight 2014-08-28 15:01:21