1
4

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

More than 5 years have passed since last update.

PythonでWebアプリ開発02(開発サーバ環境選定〜Django起動)

Last updated at Posted at 2019-10-14

前の記事: PythonでWebアプリ開発01(フレームワーク選定: Django vs Flask)

PythonでWebアプリ開発をしてみるにあたり、どの環境で開発をするかということについて考える必要がある。
選択肢としては

  • macまたはWindowsのローカル環境
  • macまたはWindowsにVirtualBoxをインストールして、その中にUbuntu、CentOS環境を構築する
  • 自分が契約しているレンタルサーバ(例: さくらのレンタルサーバーVALUE SERVER、その他色々)
  • GCP、AWS、Herokuなどクラウド型サーバ

サービスとして最終的に公開する場合には自分が契約しているレンタルサーバーやクラウド型サーバーになるが、まずは手っ取り早くDjangoでHello Worldを試すことが目標なのでとりあえずローカルに環境を構築することに。

サーバ上に構築するにしても何れにせよPythonバージョン、Djangoなどの必要モジュールを正しくセットアップすることが必要になるのでまずはローカルで試してみるのもひとつの手だろう。

当方の開発環境は

  • macOS Mojave
  • バージョン 10.14.6

pyenvコマンドでpythonのバージョンを調べてみると下記の状況でPython3が使えるようになっている。

$ pyenv versions
  system
  2.7.8
* 3.6.8 (set by /Users/xxx/.python-version)

下記でDjangoのインストールが問題なく完了することを確認できた。

sudo pip3 install Django

最初にプロジェクトを作成する。
作業ディレクトリに移動して以下のコマンドを実行。

django-admin startproject myDjangoPrj01

myDjangoPrj01という名前でプロジェクトを作成。
lsコマンドを叩くとプロジェクトの名前でディレクトリが作成されていることが確認できる。

  • 余談: コンピュータを扱っていると、プログラム開発だけでなく、CGやグラフィックスソフト、音楽ソフトなどでプロジェクトという単位がよく出てくる。必要なファイルがディレクトリの中に一式展開されており、このテンプレートに必要な記述やファイルを追加していくことになる。Visual Studio、Eclipseなどでもフレームワークを使って開発するときなど新規プロジェクトをウィザードにしたがって作成するなどもこれに該当する。
$ ls
myDjangoPrj01

treeコマンドを叩いてみるとディレクトリ、ファイルの階層構造を確認することができる。

$ tree
.
└── myDjangoPrj01
    ├── manage.py
    └── myDjangoPrj01
        ├── __init__.py
        ├── settings.py
        ├── urls.py
        └── wsgi.py

プロジェクト配下に移動し、サーバを起動してみる。

$ cd myDjangoPrj01/
$ python manage.py runserver

ブラウザから下記URLにアクセス。

下記画面が表示されていればひとまず成功。
djangoinitial.png

  • サーバ起動時に下記が赤文字で表示されたかもしれない。
You have 17 unapplied migration(s). Your project may not work properly until you apply the migrations for app(s): admin, auth, contenttypes, sessions.
Run 'python manage.py migrate' to apply them.

下記コマンドで解決できる。

$ python manage.py migrate
Operations to perform:
  Apply all migrations: admin, auth, contenttypes, sessions
Running migrations:
  Applying contenttypes.0001_initial... OK
  Applying auth.0001_initial... OK
  Applying admin.0001_initial... OK
  Applying admin.0002_logentry_remove_auto_add... OK
  Applying admin.0003_logentry_add_action_flag_choices... OK
  Applying contenttypes.0002_remove_content_type_name... OK
  Applying auth.0002_alter_permission_name_max_length... OK
  Applying auth.0003_alter_user_email_max_length... OK
  Applying auth.0004_alter_user_username_opts... OK
  Applying auth.0005_alter_user_last_login_null... OK
  Applying auth.0006_require_contenttypes_0002... OK
  Applying auth.0007_alter_validators_add_error_messages... OK
  Applying auth.0008_alter_user_username_max_length... OK
  Applying auth.0009_alter_user_last_name_max_length... OK
  Applying auth.0010_alter_group_name_max_length... OK
  Applying auth.0011_update_proxy_permissions... OK
  Applying sessions.0001_initial... OK

再度python manage.py runserverを実行すると同じwarningが表示されずにサーバの起動を確認することができた。

次の記事: PythonでWebアプリ開発03(DjangoでHello World!を表示させる))

1
4
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
1
4

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?