午夜剧场伦理_日本一道高清_国产又黄又硬_91黄色网战_女同久久另类69精品国产_妹妹的朋友在线

您的位置:首頁(yè)技術(shù)文章
文章詳情頁(yè)

mysql - flask-migrate 創(chuàng)建遷移腳本報(bào)錯(cuò)(ValueError: invalid interpolation syntax)

瀏覽:157日期:2022-06-19 18:08:29

問題描述

我是參照flask web開發(fā)這本書,數(shù)據(jù)庫(kù)為mysql,說到flask-migrate,我在用命令 python myblog.py db migrate -m “initial migration”創(chuàng)建數(shù)據(jù)庫(kù)遷移腳本時(shí)報(bào)以下錯(cuò)誤

(venv) zhaoyb@zhaoyb-pc:~/PycharmProjects/myblog$ python myblog.py db migrate -m 'initial migration' /home/zhaoyb/PycharmProjects/myblog/venv/lib/python3.5/site-packages/flask_sqlalchemy/__init__.py:800: UserWarning: SQLALCHEMY_TRACK_MODIFICATIONS adds significant overhead and will be disabled by default in the future. Set it to True to suppress this warning. warnings.warn(’SQLALCHEMY_TRACK_MODIFICATIONS adds significant overhead and will be disabled by default in the future. Set it to True to suppress this warning.’)Traceback (most recent call last): File 'myblog.py', line 77, in <module> manager.run() File '/home/zhaoyb/PycharmProjects/myblog/venv/lib/python3.5/site-packages/flask_script/__init__.py', line 412, in run result = self.handle(sys.argv[0], sys.argv[1:]) File '/home/zhaoyb/PycharmProjects/myblog/venv/lib/python3.5/site-packages/flask_script/__init__.py', line 383, in handle res = handle(*args, **config) File '/home/zhaoyb/PycharmProjects/myblog/venv/lib/python3.5/site-packages/flask_script/commands.py', line 216, in __call__ return self.run(*args, **kwargs) File '/home/zhaoyb/PycharmProjects/myblog/venv/lib/python3.5/site-packages/flask_migrate/__init__.py', line 173, in migrate version_path=version_path, rev_id=rev_id) File '/home/zhaoyb/PycharmProjects/myblog/venv/lib/python3.5/site-packages/alembic/command.py', line 117, in revision script_directory.run_env() File '/home/zhaoyb/PycharmProjects/myblog/venv/lib/python3.5/site-packages/alembic/script/base.py', line 407, in run_env util.load_python_file(self.dir, ’env.py’) File '/home/zhaoyb/PycharmProjects/myblog/venv/lib/python3.5/site-packages/alembic/util/pyfiles.py', line 93, in load_python_file module = load_module_py(module_id, path) File '/home/zhaoyb/PycharmProjects/myblog/venv/lib/python3.5/site-packages/alembic/util/compat.py', line 68, in load_module_py module_id, path).load_module(module_id) File '<frozen importlib._bootstrap_external>', line 388, in _check_name_wrapper File '<frozen importlib._bootstrap_external>', line 809, in load_module File '<frozen importlib._bootstrap_external>', line 668, in load_module File '<frozen importlib._bootstrap>', line 268, in _load_module_shim File '<frozen importlib._bootstrap>', line 693, in _load File '<frozen importlib._bootstrap>', line 673, in _load_unlocked File '<frozen importlib._bootstrap_external>', line 665, in exec_module File '<frozen importlib._bootstrap>', line 222, in _call_with_frames_removed File 'migrations/env.py', line 22, in <module> current_app.config.get(’SQLALCHEMY_DATABASE_URI’)) File '/home/zhaoyb/PycharmProjects/myblog/venv/lib/python3.5/site-packages/alembic/config.py', line 218, in set_main_option self.set_section_option(self.config_ini_section, name, value) File '/home/zhaoyb/PycharmProjects/myblog/venv/lib/python3.5/site-packages/alembic/config.py', line 245, in set_section_option self.file_config.set(section, name, value) File '/usr/lib/python3.5/configparser.py', line 1190, in set super().set(section, option, value) File '/usr/lib/python3.5/configparser.py', line 891, in set value) File '/usr/lib/python3.5/configparser.py', line 401, in before_set 'position %d' % (value, tmp_value.find(’%’)))ValueError: invalid interpolation syntax in ’mysql+pymysql://××××××:×××××××××××@localhost/myblog’ at position 27

這是我的程序代碼

from flask import Flask, render_template, flashfrom flask_wtf import Formfrom wtforms import StringField, SubmitField, PasswordFieldfrom wtforms.validators import Requiredfrom flask_script import Managerfrom flask_bootstrap import Bootstrapfrom flask_sqlalchemy import SQLAlchemyfrom flask_script import Shellfrom flask_migrate import Migrate, MigrateCommandapp = Flask(__name__)app.config[’SECRET_KEY’] = ’hard to guess string’app.config[’SQLALCHEMY_DATABASE_URI’] = ’mysql+pymysql://××××××:××××××××××@localhost/myblog’app.config[’SQLALCHEMY_COMMIT_ON_TEARDOWN’] = Trueapp.config[’DEBUG’] = Truebootstrap = Bootstrap(app)db = SQLAlchemy(app)manager = Manager(app)migrate = Migrate(app, db)manager.add_command(’db’, MigrateCommand)def make_shell_context(): return dict(app=app, db=db, User=User, Role=Role)class User(db.Model): __tablename__ = ’users’ id = db.Column(db.Integer, primary_key=True) username = db.Column(db.String(64), unique=True, index=True) role_id = db.Column(db.Integer, db.ForeignKey(’roles.id’)) def __repr__(self):return ’<User %r>’ % self.usernameclass Role(db.Model): __tablename__ = ’roles’ id = db.Column(db.Integer, primary_key=True) name = db.Column(db.String(64), unique=True) users = db.relationship(’User’, backref=’role’) def __repr__(self):return ’<Role %r>’ % self.nameclass LoginForm(Form): username = StringField(’用戶名’, validators=[Required()]) password = PasswordField(’密碼’, validators=[Required()]) login = SubmitField(’登錄’)@app.route(’/’, methods=[’GET’, ’POST’])def index(): form = LoginForm() return render_template(’index.html’, form=form, is_active=True)@app.route(’/tweet’)def tweet(): form = LoginForm() return render_template(’tweet.html’, is_actived=True, form=form)@app.errorhandler(404)def page_not_found(e): return render_template(’404.html’), 404@app.errorhandler(404)def page_not_found(e): return render_template(’500.html’), 500manager.add_command(’shell’, Shell(make_context=make_shell_context))if __name__ == ’__main__’: manager.run()

請(qǐng)大家?guī)臀铱纯?/p>

………………………………………………………………………………………………………………

問題原因已找到,書的作者給了回答mysql - flask-migrate 創(chuàng)建遷移腳本報(bào)錯(cuò)(ValueError: invalid interpolation syntax)竟然是mysql密碼里面包含%(話說這個(gè)問題真的很難想到,希望大家引以為戒)

問題解答

回答1:

說的很清楚:

ValueError: invalid interpolation syntax in ’mysql+pymysql://××××××:×××××××××××@localhost/myblog’ at position 27

你的URI格式有問題, 建議你用標(biāo)準(zhǔn)的格式: http://flask-sqlalchemy.pocoo...

標(biāo)準(zhǔn)格式的話你需要安裝mysqldb, 有點(diǎn)小坑, 安裝可以參考下面2個(gè)鏈接

http://stackoverflow.com/ques...

http://stackoverflow.com/ques...

相關(guān)文章:
主站蜘蛛池模板: 国产又粗又猛又爽又 | 久久高清 | 午夜草草 | 草久久免费视频 | 亚洲精品久久久蜜桃 | 日本精品一区二区 | 国产精品免费精品一区 | av网站免费在线 | 玖玖成人 | 精品国产一区二区三区久久久蜜月 | 天天做天天爱天天爽综合网 | 国产激情图片 | jizz日本大全| 免费视频色| 中文字幕1区2区 | 日本一区二区视频在线 | 国产成人网| 伊人免费在线 | 中文字幕精品久久久 | 在线播放毛片 | 中文字幕亚洲欧美日韩 | 亚洲网址 | 欧美八区| 夫绿帽中文字幕日本 | 欧美午夜精品久久久久久浪潮 | 日韩黄色a级片 | www.五月天婷婷 | 亚洲激情欧美 | 91成人在线免费观看 | 亚洲香蕉久久 | 欧美精品中文 | a√任天堂中文 | 不卡av网站 | 超碰九九 | 亚洲国产成人精品女人久久久 | 九九福利 | 999久久久久久 | 亚洲黄色成人网 | 97国产在线| 麻豆视频在线免费看 | 国产福利精品在线 |