(最終更新月:2021年11月)
Djangoでアプリ開発を進めていたら突然
TypeError: argument of type 'PosixPath' is not iterable
というエラーが出てきてお困りでないでしょうか?
解決策は下記の通りです
settings.py > DATABASES > default > NAME をstr()で文字列化します
'NAME': str(BASE_DIR / 'db.sqlite3'),
DATABASES全体は下記の通りです
DATABASES = { 'default': { 'ENGINE': 'django.db.backends.sqlite3', 'NAME': str(BASE_DIR / 'db.sqlite3'), } }
sqliteデータベースのパスを文字列にしよう!
【何が起きてるか覗いてみよう!】
今の状態で、DATABASEをターミナル上にprintすると
{'default': {'ENGINE': 'django.db.backends.sqlite3', 'NAME': PosixPath('/Users/hironish/dev/anotherNippo/src/db.sqlite3') } }
となります
str()で文字列化したあとは
{'default': {'ENGINE': 'django.db.backends.sqlite3', 'NAME': '/Users/hironish/dev/anotherNippo/src/db.sqlite3' } }
「通常の文字列であればエラーが起きない!」ということですね
✔当ブログは以下のような方に向けて書かれています
「Djangoでのアプリ開発を学びたい!」
「Djangoで開発したアプリをWebで公開するにはどうするの?」
✔当ブログ掲載の記事
- Djangoで作る日報アプリ開発
- WebアプリをWeb上に公開する方法
- Webアプリ開発に必要なそのほかの情報

【Django】チュートリアル|日報アプリの開発から公開まで
Djangoのチュートリアルをお探しですか?具体的に「手を動かして作ってみたい!」という方へ向けて、誰でもできる簡易的な日報アプリの開発を通じて、Djangoの様々な機能に触れていくシリーズとなっています。PythonでWebアプリを作りたい方、必見の記事となります!
ITCブログにご協力いただける方は、以下もご検討いただけると嬉しいです。