今まで何度も作ってはまた作り直してを繰り返してその度いろんなところをググったりするので、
さすがに備忘録を残しておこうかなと。
ちなみに内容はほぼ、
https://qiita.com/noraricl/items/08937a508a2abecc7179
にかかれてある通りになります。(超簡単なミニマムなページを作りたかったのですごく助かりました・・・)
環境設定
pyenvとvirtualenvで3.6.1のバージョンからrate-siteという仮想環境を作っていますが、僕以外の方はここはスルーして大丈夫です。
mkdir rate_site
cd rate_site
pyenv virtualenv 3.6.1 rate-site
pyenv local rate-site
以下の、 requirements.txt
を作成。
dj-database-url==0.5.0
dj-static==0.0.6
Django==2.2.6
django-heroku==0.3.1
gunicorn==20.0.0
mysqlclient==1.4.4
psycopg2==2.8.4
PyMySQL==0.9.3
python-dateutil==2.8.1
pytz==2019.3
six==1.13.0
sqlparse==0.3.0
static3==0.7.0
whitenoise==4.1.4
そして、
pip install -r requirements.txt
で必要なものをインストール。
※requirements.txt
を作成したディレクトリ(rate_site
) がgitで管理する一番トップでディレクトリになる。
プロジェクトとアプリケーション作成
mkdir rate_site # 今いるrate_site内でもう一個作る
cd rate_site
django-admin startproject rate_site .
python manage.py startapp rate_hp
設定ファイル編集
INSTALLED_APPS = [
'django.contrib.admin',
'django.contrib.auth',
'django.contrib.contenttypes',
'django.contrib.sessions',
'django.contrib.messages',
'django.contrib.staticfiles',
'rate_hp', #追加
]
(省略)
LANGUAGE_CODE = 'ja' #変更
TIME_ZONE = 'Asia/Tokyo' #変更
(省略)
USE_TZ = False #変更
migrateする
python manage.py migrate
管理者ユーザ作成
python manage.py createsuperuser
起動確認
python manage.py runserver
にアクセスするとdjangoでデフォルトのページが表示される。
rate_hp にアクセスできるようにする
from django.urls import path, include #追加
urlpatterns = [
path('admin/', admin.site.urls),
path('', include('rate_hp.urls')), #追加
]
HTMLファイル作成
rate_siteやrate_hpがあるディレクトリ内に、
templates
ディレクトリを作成し、
<html>
<head>
<title>ホームページ</title>
</head>
<body>
<p>ここがbase.htmlです。</p>
{% block main_containts %}
{% endblock %}
<p>ここがbase.htmlです。</p>
</body>
</html>
{% extends "base.html" %}
{% block main_containts %}
{% load static %}
<main>
ここがindex.htmlです。
</main>
{% endblock %}
rate_hpの中のファイルを編集していく。
from django.shortcuts import render
from django.http import HttpResponse
from django.template import Context, loader
def index(request):
template = loader.get_template('index.html')
context = {}
return HttpResponse(template.render(context, request))
urls.py
は存在しないので、新規作成
from django.urls import path
from . import views
app_name = 'rate_hp' #django2.0から必要になったnamespace定義
urlpatterns = [
path('', views.index, name='index'),
]
先程作ったtemplatesをdjangoが読み込むようにする。
TEMPLATES = [
{
'BACKEND': 'django.template.backends.django.DjangoTemplates',
'DIRS': ['templates'], # 追加
'APP_DIRS': True,
ここでもっかい、
python manage.py runserver
を実行して、
http://127.0.0.1:8000/
にアクセスする。
いったん完了
一応今後は、ここのホームに対して新しく作ったアプリケーションだとかをどんどん追加していって、アクセスできるようにしていく想定。