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',
],
},
},
]
この記事へのコメントはありません。