其实我正在学习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。我如何修复此错误,任何解决方案。
答案 0 :(得分:0)
根据Flask-Navigation
文档,您应该导入Navigation
而不是Nav
from flask import Flask
from flask.ext.navigation import Navigation
app = Flask(__name__)
nav = Navigation(app)
您可能会将Flask-Navigation
与Flask-Nav
混淆,后者位于软件包名称flask-nav
下。
从documentation开始,Flask-Nav
与Flask-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