やったこと
pythonでwebアプリを作ってみたくて、Udemyの初心者講座をやってみました。
VScodeでソースを編集&Linuxの操作しつつ、Djangoでアプリを動かしDBはSQLiteを使っていく講座でした。
##開発環境
- VScode:1.52.1
- Django:3.1.4
- python:3.8.5
##環境構築
venvで仮想環境構築後、Djangoパッケージのインストールを行ったのにVScodeから”Unable to Import Django~"とチェックが入った。
VScodeのLinterが参照するPythonファイルが仮想環境にインストールしたものと違っていた。
設定から変更可能。選択肢が自動で表示されるがディレクトリを直接指定することも可能。
##プロジェクト設定
アプリで登録した画像ファイルが指定のディレクトリに保存されない。
プロジェクトのsettings.pyにて"MEDIA_ROOT"と設定すべき変数名を"MEDIA_DIR"と設定していた。完全に凡ミス。
SQLite
migrateコマンドを実行しようとした際に、「AAAというモデルがないよ」とエラーがでて失敗する。しかし、models.pyにもmigrations以下のファイルにもAAAというモデルが存在する。
AAAというモデル名を修正したくて、migrations以下のファイルを直接編集してしまった。
その後、makemigrationsコマンドを実行したせいで、モデル名を修正してもエラーがでていた。
完全にSQLiteの知識不足ですね・・・・
対策はいろいろ調べたがわからず、結局migtaionsフォルダを作り直した。
##デバッグ
ソースコードを完璧に修正したはずなのにエラーが解決しねぇ!!!!
9割ぐらいVScode上でファイルの保存がされていません。
これもその辺の仕様の理解不足ですね。