1
4

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

djangoでホームページを作成

Posted at

今まで何度も作ってはまた作り直してを繰り返してその度いろんなところをググったりするので、
さすがに備忘録を残しておこうかなと。

ちなみに内容はほぼ、
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

設定ファイル編集

rate_site/settings.py
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

これで、
http://127.0.0.1:8000/

にアクセスするとdjangoでデフォルトのページが表示される。

rate_hp にアクセスできるようにする

rate_site/urls.py
from django.urls import path, include #追加

urlpatterns = [
    path('admin/', admin.site.urls),
    path('', include('rate_hp.urls')), #追加
]

HTMLファイル作成

rate_siteやrate_hpがあるディレクトリ内に、
templatesディレクトリを作成し、

templates/base.html
<html>
    <head>
        <title>ホームページ</title>
    </head>
    <body>
        <p>ここがbase.htmlです。</p>

    {% block main_containts %}
    {% endblock %}

        <p>ここがbase.htmlです。</p>
    </body>
</html>
templates/index.html
{% extends "base.html" %}
{% block main_containts %}
{% load static %}

  <main>
    ここがindex.htmlです。
  </main>

{% endblock %}

rate_hpの中のファイルを編集していく。

rate_hp/views.py
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 は存在しないので、新規作成

rate_hp/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が読み込むようにする。

rate_site/settings.py
TEMPLATES = [
    {
        'BACKEND': 'django.template.backends.django.DjangoTemplates',
        'DIRS': ['templates'],  # 追加
        'APP_DIRS': True,

ここでもっかい、
python manage.py runserver

を実行して、
http://127.0.0.1:8000/
にアクセスする。

いったん完了

一応今後は、ここのホームに対して新しく作ったアプリケーションだとかをどんどん追加していって、アクセスできるようにしていく想定。

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

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?