2014-08-28 47 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