3
1

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 3 years have passed since last update.

Python: Djangoインストール・開発サーバ起動・停止まで

Last updated at Posted at 2020-04-02

Djangoの使い方

▼仮想環境を起動(source bin/activate)してから、djangoフレームワークをインストール

pip install django

▼django用に作成したディレクトリに移動

cd /Users/tanaka/Downloads/myPython/django

▼firstという名前のdjangoのプロジェクトをdjangoディレクトリ配下に作成

django-admin startproject first

▼作成したプロジェクト(first)に移動

cd first

▼開発用サーバーを起動

JupyterLab
## manage.pyの親ディレクトリで実行
python3.8 manage.py runserver

[補足] PythonのVersionは python --version でチェック

▼サーバーが起動したらアクセス。 ロケットページ表示されたらOK :o:

http://127.0.0.1:8000/

▼サーバー停止は Control + C

アプリケーションの作成

▼tanakaappという名前のアプリケーションを作成

python3.8 manage.py startapp tanakaapp

[補足] Djangoのmanage.py(デフォルトファイル)があるディレクトリで以下コマンドを実行

▼setting.pyファイルに新規作成したtestappアプリケーションを登録(※)

INSTALLED_APP = [
  'tanakaapp.apps.MyappConfig', (※)
  'django.contrib.admin',
  ・・・・(略)・・・・
]

補足の意味
myapp:tanakaappアプリケーション
apps:appsモジュール
MyappConfig:MyappConfigクラス

first/tanakaapp/templates/tanakaapp配下のindex.htmlの中身をブラウザに表示させよう

▼url.pyのimportにincludeを追加して、tanakaappプロジェクトのパスを通す

from django.contrib import admin
from django.urls import path, include

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

▼tanakaappフォルダ内に, ulrs.pyを新規作成

from django.urls import path
from . import views

app_name = 'tanakaapp'

urlpatterns = [
    path('', views.index, name='index'),
]

http://127.0.0.1:8000/tanakaapp/
『チワッス田中さん』と表示されるようにviews.pyに以下を記述

from django.http import HttpResponse


def index(request):
    return HttpResponse('チワッス田中さん')

▼読み込むHTMLを決める流れ

firstのurls.py
→ tanakaappのurls.py
→ tanakappのview.py
→ index.html

ModelからDBにテーブル登録

▼DBにテーブルを登録するためには、models.pyで下準備をする

from django.db import models
from django.utils import timezone

class Day(models.Model):
    title = models.CharField('タイトル', max_length=200)
    text = models.TextField('本文')
    date = models.DateTimeField('日付', default=timezone.now)

▼manage.pyのディレクトリでmigrationsを実行(Modelの変更を伝えている)

python3.8 manage.py makemigrations diary

[補足] 仮想環境の場合は、仮想環境上でコマンド実行すること

▼migrateすることで、変更・作成したModelをDBに反映

python3.8 manage.py migrate

[おわり]

3
1
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
3
1

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?