Engineerの研鑽

メインはプログラミング系ブログ(本の要約とかもします)

質問はCONTACTやコメントでお願い致します。

【サルでもわかるPython】Djangoでコメントを表示

早めの更新ですねん。どうも「みならいえんじにあ」のゆきとです。

 

今日は、Djangoでコメントを表示していきたいと思います。初心者でもできるように最小限の内容しか書いていないので、ご安心を。

 

まずは実行結果をみて、イメージをつかんでください。

(*まだDjangoを導入されてない方はこちらの記事を先に行なってください)

 

www.yukiyukiponsu.work

 

 実行結果

f:id:yukiyukiponsu:20200614152320g:plain

実装手順

  1. django-admin startproject myapp
  2. cd myapp
  3. python manage.py startapp app

上記の3つのコマンドをコマンドプロンプトに入力してください。

(前回の記事でmyappフォルダを作っている方は、改めて1.のコマンドを打つ必要はありません)

 

ここまでで以下のファイル構造になっていると思います。

f:id:yukiyukiponsu:20200616081045p:plain

 

次にコードを作成していきます。

ソースコード

python

     |- myapp

              |- app

                    |- views.py

views.py
from django.shortcuts import render

# Create your views here.
from django.http import HttpResponse
from django.template import Context, loader

def index(request):
    d = {
      'comment': request.POST.get('comment')
    }
    return render(request, 'index.html', d)

appフォルダの中に、urls.pyファイルを作成して以下のコードを記入してください。

 

python

     |- myapp

              |- app

                    |- urls.py

urls.py
from django.urls import path
from . import views

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

python

     |- myapp

              |- myapp

                    |- urls.py

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

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

python

     |- myapp

              |- myapp

                    |- settings.py

settings.py
####   変更部分のみ記載  ##########
TEMPLATES = [ { 'BACKEND': 'django.template.backends.django.DjangoTemplates', 'DIRS': [os.path.join(BASE_DIR, 'public'),], #ここを変更 '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', ], }, }, ]
###############################

最後にmyappフォルダの下にpublicフォルダを作成し、そこにindex.htmlファイルを作成すれば完成です!!

python

     |- myapp

              |- public

                    |- index.html

index.html
<!DOCTYPE html>
<html lang="ja">
<head>
<meta charset="utf-8">
<title>メッセージ表示</title>
</head>
<body>
{% if comment %}
<textarea name="text" rows="4" cols="40">{{ comment }}</textarea><br>
{% endif %}
<form action="" method="post">
	{% csrf_token %}
	<p>コメント:<br>
	<input type="text" name="comment"></p>
	<p><input type="submit" value="メッセージ送信" id="send-message"></p>
</form>
</body>
</html>

ここまでくればあとは実行するのみです!

 

python manage.py runserverとコマンドプロンプトに入力し、以下のurlに飛べば実行結果と同様なものが表示されます!!

http://127.0.0.1:8000/app/public/

 

今日の内容は以上です。

 

ここまで読んでくださり、ありがとうございます!!

 

それではまた後日!!