1. HOME
  2. ブログ
  3. Python
  4. Djangoチュートリアル(備忘録)

技術ブログ

Blog

Python

Djangoチュートリアル(備忘録)

久しぶりにPythonを触ることになり、
「あれ、どうやってDjangoでプロジェクト立ち上げるんだっけ..」
となったためDjangoでプロジェクトを立ち上げるためのメモを残します。

公式チュートリアル

$ mkdir djangogirls
$ cd djangogirls
$ python3 -m venv myvenv

//仮想環境のアクティベイト
$ source myvenv/bin/activate

//pipのアップデート
(myvenv) ~$ python -m pip install --upgrade pip

//Djangoのインストール
% touch requirements.txt
% vim requirements.txt 
Django~=2.2.4
(myvenv) ~$ pip install -r requirements.txt

//プロジェクトの作成
(myvenv) ~/djangogirls$ django-admin startproject mysite .

├── manage.py
├── mysite
│   ├── __init__.py
│   ├── settings.py
│   ├── urls.py
│   └── wsgi.py
├── myvenv
│   ├── bin
│   ├── include
│   ├── lib
│   └── pyvenv.cfg
└── requirements.txt

TIME_ZONE = 'Asia/Tokyo'
LANGUAGE_CODE = 'ja'

STATIC_URL = '/static/'
STATIC_ROOT = os.path.join(BASE_DIR, 'static')
//DBの作成
//デフォルトはSQLite3
 % python manage.py migrate

//サーバ起動
% python manage.py runserver
http://127.0.0.1:8000/

//アプリケーションの作成
% python manage.py startapp blog
//アプリケーションを使用することを設定ファイルに宣言

INSTALLED_APPS = [
    'django.contrib.admin',
    'django.contrib.auth',
    'django.contrib.contenttypes',
    'django.contrib.sessions',
    'django.contrib.messages',
    'django.contrib.staticfiles',
    'blog.apps.BlogConfig',
]
//adminへログインでいるようにアカウント作成
% python manage.py createsuperuser

// % python manage.py runserver      
http://localhost:8000/admin/
//アプリのurlファイルをインポートさせる
//下記を記述したらアプリフォルダ下に「urls.py」作成

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

urlpatterns = [
    path('admin/', admin.site.urls),
    path('', include('blog.urls')),
]
from django.urls import path
from . import views

urlpatterns = [
    path('', views.post_list, name='post_list'),
]
from django.shortcuts import render

def post_list(request):
    return render(request, 'blog/post_list.html', {})
//templateを作成
blog
└───templates
    └───blog
       ┗post_list.html
<html>
<body>
    <p>Hi there!</p>
    <p>It works!</p>
</body>
</html>

runserverでHTMLが見れる

ここまでで基本的な設定は終了。静的ファイルを入れたい場合はこんな感じ

djangogirls
└─── blog
     └─── static
          └─── css
               └─── blog.css

Tips

DIRにtemplatesのパスを指定する

import os

...

TEMPLATES = [
    {
        'BACKEND': 'django.template.backends.django.DjangoTemplates',
        'DIRS': [os.path.join(BASE_DIR, 'templates')],
        'APP_DIRS': True,
        'OPTIONS': {
            'context_processors': [
                'django.template.context_processors.debug',
                'django.template.context_processors.request',
                'django.contrib.auth.context_processors.auth',
                'django.contrib.messages.context_processors.messages',
            ],
        },
    },
]

  1. この記事へのコメントはありません。

  1. この記事へのトラックバックはありません。

関連記事