python-flask Nomodule名为'flask_nav'

时间:2016-03-01 11:35:23

标签: python python-3.x navigation flask-restful

其实我正在学习python flask Navigation,我成功安装了所有必需的包,这些都是一些包,

app$ venv/bin/easy_install  flask-restful
app$ venv/bin/easy_install  Flask-bootstrap
app$ venv/bin/easy_install  Flask-Navigation

但是当我要导入

   from flask_nav import Nav
         or
   from flask_nav.elements import Navbar, View

得到错误,

>>>from flask_nav import register_renderer
Traceback (most recent call last):
  File "<stdin>", line 1, in <module>
ImportError: No module named 'flask_nav'

我使用的是ubuntu-14.02和Python 3.4.3。我如何修复此错误,任何解决方案。

2 个答案:

答案 0 :(得分:0)

根据Flask-Navigation文档,您应该导入Navigation而不是Nav

from flask import Flask
from flask.ext.navigation import Navigation

app = Flask(__name__)
nav = Navigation(app)

您可能会将Flask-NavigationFlask-Nav混淆,后者位于软件包名称flask-nav下。

documentation开始,Flask-NavFlask-Navigation之间存在一些差异:

  

Flask-Nav对Flask-Navigation有一些很好的核心思想,就是这样   大约一岁,这是作者以前看过的第一个地方   决定写Flask-Nav。在为重新实现辩护。   以下是一些主要差异:

     
      
  • Flask-Navigation将所有元素类型都滚动到一个Item类中,   它用作标签,视图和链接元素。这让它变得有点儿   很难延伸。
  •   
  • Flask-Navigation中的HTML生成是在内部完成的   包本身,而Flask-Nav使用更完整的外部   解。
  •   
  • 导航结构创建和渲染是分开的   在Flask-Nav中(参见渲染器)。这允许不止一种方式   渲染相同的导航栏,允许其他包(例如   Flask-Bootstrap)也提供渲染器。
  •   
  • 一些技术选择被认为有点奇怪,并且已被避免(BoundTypeProperty
  •   
  • Flask-Navigation使用信号和挂钩   在每个请求上重新生成导航栏,Flask-Nav实现   通过懒惰实例化导航栏时的动态行为   需要,并在最后可能的时刻。
  •   

答案 1 :(得分:0)

我得到了答案 $ flask_virtual / bin / easy_install Flask-Navigation

我们还需要安装 flask-na v才能访问

from flask_nav import Nav
from flask_nav.elements import Navbar, View

所以使用 $ venv / bin / easy_install --upgrade flask-nav