Python: IndentationError: unindent does not match any outer indentation levelが出た時の備忘録

Python

コードを書き、作ったモデルにテーブルを作成する為以下のコマンドを実行した時にエラー”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.

と言う事で、日々タブかスペースに統一する様にすると避けられるでしょう。今後はタブを多用しようと思う。

有用な情報共有感謝

コメント

タイトルとURLをコピーしました