早めの更新ですねん。どうも「みならいえんじにあ」のゆきとです。
今日は、Djangoでコメントを表示していきたいと思います。初心者でもできるように最小限の内容しか書いていないので、ご安心を。
まずは実行結果をみて、イメージをつかんでください。
(*まだDjangoを導入されてない方はこちらの記事を先に行なってください)
www.yukiyukiponsu.work
実行結果
実装手順
- django-admin startproject myapp
- cd myapp
- python manage.py startapp app
上記の3つのコマンドをコマンドプロンプトに入力してください。
(前回の記事でmyappフォルダを作っている方は、改めて1.のコマンドを打つ必要はありません)
ここまでで以下のファイル構造になっていると思います。
次にコードを作成していきます。
python
|- myapp
|- app
|- views.py
views.py
from django.shortcuts import render
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
<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/
今日の内容は以上です。
ここまで読んでくださり、ありがとうございます!!
それではまた後日!!