
まず、index.htmlにフォームを用意します。
hello/templates/index.html
<body class="container">
<h1 class="display-4 text-primary">{{title}}</h1>
<p class="h6 my-3">{{msg}}</p>
<form action="{% url 'form' %}" method="post">
{% csrf_token %}
<label for="msg" class="form-label">message: </label>
<input id="msg" type="text" name="msg" class="form-control">
<input type="submit" value="click" class="btn btn-primary">
</form>
</body>
次にビュー関数を作成します。
hello/views.py
from django.shortcuts import render
def index(request):
params = {
'title':'Hello/Index',
'msg':'お名前は?',
}
return render(request, 'hello/index.html', params)
def form(request):
msg = request.POST['msg']
params = {
'title':'Hello/Form',
'msg':'こんにちは、' + msg + 'さん。',
}
return render(request, 'hello/index.html', params)
urlpatternsの修正
hello/urls.py
from django.urls import path
from . import views
urlpatterns = [
path('', views.index, name='index'),
path('form', views.form, name='form'),
]
webブラウザにてアクセスすると、フォームが表示されるので適当な文字を入力して「click」をクリックします。



この記事は役に立ちましたか?
もし参考になりましたら、下記のボタンで教えてください。
コメント