コードを書き、作ったモデルにテーブルを作成する為以下のコマンドを実行した時にエラー”IndentationError: unindent does not match any outer indentation level” が出た
$ pipenv run python3 manage.py init_db Traceback (most recent call last): File "manage.py", line 2, in <module> from flask_blog import app File "/Users/...(directories).../apl/application/flask_blog/__init__.py", line 9, in <module> from flask_blog.views import views, entries File "/Users/...(directories).../apl/application/flask_blog/views/entries.py", line 10 entries = Entry.query.order_by(Entry.id.desc()).all() ^ IndentationError: unindent does not match any outer indentation level
該当ファイルのline10辺りの該当コードはこんな感じ
@app.route('/') def show_entries(): if not session.get('logged_in'): return redirect(url_for('login')) entries = Entry.query.order_by(Entry.id.desc()).all() return render_template('entries/index.html', entries=entries)
何度確認しても違いが見つからないのでこのフレーズで検索を書けてみたらこのサイトが出てきた。
The “indentationerror: unindent does not match any outer indentation level” error is raised when you use both spaces and tabs to indent your code.
インデントをスペース4つとタブで混在させると出てくるエラーの様だ
上記コードはブログ内のコードなので分からないが、調べたら実際entriesの前と最後のreturnの前がスペース4つだったので、修正したらエラーが出ずに終了。
上手く解決して感謝。
To solve this error, check to make sure that all your code uses either spaces or tabs in a program.
と言う事で、日々タブかスペースに統一する様にすると避けられるでしょう。今後はタブを多用しようと思う。
有用な情報共有感謝
コメント