4
8

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 1 year has passed since last update.

djangoでwebサービス開発 1

Posted at

はじめに

本記事は、Djangoによるwebアプリを開発したときのメモです。

Djangoにした経緯

まず、「CtoCのwebアプリ」を開発したいと思い、言語・フレームワークの以下の観点で選定を行った。

  • 人気がある
  • 将来性がある
  • 簡単

最終的にRubyとPythonに絞られたが、Pythonは機械学習にも強く、「Ruby on Rails」よりも「Django」の方がわかりやすそうということで、Djangoで開発することに決定した。

Djangoについて

Djangoは、ドキュメントがしっかりしていて、以下のリンクのチュートリアルをやることで一通りのことを学ぶことができる。
Djangoドキュメント

環境

$ python --version
Python 3.7.0

今回の流れ

webサービスを作成している中で、つまずいたとこを何回かに分けて記載する。
今回は、djangoのインストールから簡単な画面表示まで。

  1. Djangoのインストール
  2. プロジェクトの作成
  3. データベースの作成
  4. 開発サーバの起動
  5. アプリケーションの作成
  6. view,urlの作成
  7. 画面表示

1. Djangoのインストール

以下のコマンドでdjangoをインストールする。

$ pip install django

2019/12にdjangoは3.0をリリース。今回は、バージョン指定せずに最新版を使用。

$ pip show django
Name: Django
Version: 3.0.7

2. プロジェクトの作成

startproject [プロジェクト名] でプロジェクトを作成する。今回は、mysiteをプロジェクト名とした。

$ django-admin startproject mysite

プロジェクトを作成すると以下ファイルが作成される。

mysite/mysite/asgi.py
             /__init__.py
             /settings.py
             /urls.py
             /wsgi.py
      /manage.py 

3. データベースの作成

データベースは、プロジェクトを作成したときに作成される「settings.py」で設定する。

DATABASES = {
    'default': {
        'ENGINE': 'django.db.backends.sqlite3',
        'NAME': os.path.join(BASE_DIR, 'db.sqlite3'),
    }
}

デフォルトでsqlite3が指定されているが、mysql/oracle/postgresqlにも対応している。
ここの設定を変えるだけで、使用するDBを変えることができる。
今回はデフォルトの「sqlite3」とする。

テーブルの作成は、プロジェクトディレクトリ(mysite)に移動して、migrateコマンドを実行する

$ python manage.py migrate

:point_right:後ほど記載するが、djangoは、modelを作成し、以下のコマンドを実行するだけでDBにテーブルが作成される。
 - python manage.py makemigrations
 - python manage.py migrate

4. 開発サーバの起動

ここで、djangoの起動確認ができる。
djangoには、開発用サーバを起動するコマンドがあり、そのコマンドを実行することでwebサーバを用意せずに試験することができる。

$ python manage.py runserver

ブラウザで「http://127.0.0.1:8000/ 」にアクセスし、以下の画面が表示されれば成功。

image.png

5. アプリケーションの作成

プロジェクトにアプリケーション(機能)を作成する。今回は、pollsという名前で作成。

$ python manage.py startapp polls

アプリケーションを作成すると以下ファイルが作成される。

mysite/polls/__init__.py
             admin.py
             apps.py
             migrations/__init__.py
             models.py
             tests.py
             views.py

6. view,urlの作成

まずは、簡単な画面表示をするため、viewとurlを編集する。
djangoのチュートリアルと同じです。

polls/view.py
from django.http import HttpResponse

def index(request):
    return HttpResponse("Hello, world. You're at the polls index.")
polls/urls.py
from django.urls import path

from . import views

urlpatterns = [
    path('', views.index, name='index'),
]
mysite/urls.py
from django.contrib import admin
from django.urls import include, path

urlpatterns = [
    path('polls/', include('polls.urls')),
    path('admin/', admin.site.urls),
]

これで、polls/を表示すると、polls/view.pyのindexが呼ばれ、その内容が画面に表示されるようになる。

7. 画面表示

再度、開発用サーバを起動。

$ python manage.py runserver

ブラウザで「http://localhost:8000/polls/ 」にアクセスして、以下が表示すれば成功。
image.png

おわり

次回はmodelの作成とbootstrapの導入です。

4
8
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
4
8

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?