最終更新日:2023‐02-24
python+djangoに入門するあたって、「開発環境は何に使おう?」ってことになると思うのですが、私はVisualStudio Communityを選択しました。VisualStudio Communityは、無料で使える統合開発環境で、コード補完も強力なのでおすすめです。Pythonとdjangoにも対応しています。
VisualStudio Communityに関連した入門レベルの情報が少なかったので記事にしました。
参考になれば幸いです。
django3.0公式マニュアル
まずは、公式マニュアル(日本語)の場所をおさえておきます。チュートリアルもあってとても良くできていると思います。
https://docs.djangoproject.com/ja/3.0/
環境
Pythonは、予め上記のWindows installerを使ってインストールしておきます。
また、VisualStudio Community2019もダウンロードしてインストールしておいてください。インストール時は以下の画像のようにDjangoで検索すると必要なコンポーネントを選択してインストールできます。

djangoはのちほどVisualStudioを使用してセットアップします。
注意:VisualStudio Community2019を最新版に更新しないと「このプロジェクトはPython2.x以下で使用できません」のようなエラーがでてビルドが成功しませんのでご注意ください。
VisualStudio Community2019で新規プロジェクトを作成
新規プロジェクトの作成で「Django Web プロジェクト」を選択して「次へ」をクリック

あとはとりあえずデフォルトのままで作成します。
requirement.txtで環境設定
requirement.txtは、開発に必要なライブラリ等を記載した内容です。以下の画面のように通知が表示されたら、仮想環境を作成をクリックします。初期状態ですとdjango2.2がセットアップされます。

動作確認する
実行して動作確認します。VisualStudioの画面上部にある緑の三角ボタンで実行できます。

Webページが表示されました!
django3.2.10にアップグレードする
ひととおり環境が整ったので、次にdjangoを3.2.10にアップグレードします。
requirement.txtを以下のように書き換えます。(新しいものを使うとワクワクしますね。)
django==3.2.10
書き換え終わったら、ソリューションエクスプローラーから「env」を右クリックして「requirement.txtからインストール」をクリックします。

※2021年1月31日追記
「env」ではなく「Python 3.9(64-bit)(グローバル デフォルト)」と表示されている場合もあるようです。
更新処理が実行され、完了すると「env」配下の表記が「3.2.10」に変わります。これでバージョンアップは成功です。
django3.2.10で実行するとエラー
django3.2.10にバージョンアップ直後に実行すると、エラーになります。エラーの原因はプログラムがdjango3以降の書き方に対応されていないためです。下記の記事を参考にエラーになる部分を書き換えてください。
無事に表示されましたでしょうか。
長くなりましたので、今日はここで終わりにします。
第2回はこちらです。
技術の進化についていけていないシステムエンジニア。浅く広く、何でも大体はこなせるエンジニアで重宝されてる(つもり)。でもやっぱり特化した武器欲しい。
備忘録として記事を投稿していますが、少しでも誰かの助けになればと思います。
最近はプロジェクトでReact(TypeScript )を触っています。
趣味でギター弾きます。