Flaskadmin:ImportError:没有命名的模块ext.sql炼金术

2024-06-06 09:05:22 发布

您现在位置:Python中文网/ 问答频道 /正文

在这个instruction之后,我尝试运行flask admin wysiwyg的示例,如下所示,直到最后一步运行python examples/wyswyg/app.py

  1. 克隆存储库:

    git clone https://github.com/mrjoes/flask-admin.git

    cd flask-admin

  2. 创建和激活虚拟环境:

    virtualenv env

    source env/bin/activate

  3. 安装要求:

    pip install -r 'examples/wysiwyg/requirements.txt'

  4. 运行应用程序:

    python examples/wysiwyg/app.py

在第四步,我得到了错误

Traceback (most recent call last):
  File "examples/wysiwyg/app.py", line 2, in <module>
    from flask.ext.sqlalchemy import SQLAlchemy
ImportError: No module named ext.sqlalchemy

示例/所见即所得/要求.txt

^{pr2}$

示例/所见即所得/应用程序副本

from flask import Flask
from flask.ext.sqlalchemy import SQLAlchemy

from wtforms import fields, widgets

from flask.ext import admin
from flask.ext.admin.contrib import sqla

# Create application
app = Flask(__name__)

# Create dummy secrey key so we can use sessions
app.config['SECRET_KEY'] = '123456790'

# Create in-memory database
app.config['SQLALCHEMY_DATABASE_URI'] = 'sqlite:///sample_db.sqlite'
app.config['SQLALCHEMY_ECHO'] = True
db = SQLAlchemy(app)


# Define wtforms widget and field
class CKTextAreaWidget(widgets.TextArea):
    def __call__(self, field, **kwargs):
        kwargs.setdefault('class_', 'ckeditor')
        return super(CKTextAreaWidget, self).__call__(field, **kwargs)


class CKTextAreaField(fields.TextAreaField):
    widget = CKTextAreaWidget()


# Model
class Page(db.Model):
    id = db.Column(db.Integer, primary_key=True)
    name = db.Column(db.Unicode(64))
    text = db.Column(db.UnicodeText)

    def __unicode__(self):
        return self.name


# Customized admin interface
class PageAdmin(sqla.ModelView):
    form_overrides = dict(text=CKTextAreaField)

    create_template = 'create.html'
    edit_template = 'edit.html'


# Flask views
@app.route('/')
def index():
    return '<a href="/admin/">Click me to get to Admin!</a>'


if __name__ == '__main__':
    # Create admin
    admin = admin.Admin(app, name="Example: WYSIWYG")

    # Add views
    admin.add_view(PageAdmin(Page, db.session))

    # Create DB
    db.create_all()

    # Start app
    app.run(debug=True)

这是什么问题?有什么需要我安装来完成和运行的吗?谢谢。在


Tags: namefrompyimportselfappflask示例