📢 공지사항
home

DB 정보 접근 및 장고 템플릿 내 for loop

수강계획
2022/01/10
번호
18
복습여부
수강여부
수강일
2022/01/10
속성
현재 view.py를 보면 post가 render를 하는게 아니라 완료한 후에는 get으로 되돌아가서 작업을 반복하지 않도록 하기 : render 없애야함
from django.http import HttpResponse from django.shortcuts import render # Create your views here. from accountapp.models import HelloWorld def hello_world(request): if request.method == "POST": temp = request.POST.get('hello_world_input') new_hello_world = HelloWorld() new_hello_world.text = temp new_hello_world.save() hello_world_list = HelloWorld.objects.all() return render(request, 'accountapp/hello_world.html', context={'hello_world_list': hello_world_list}) else: hello_world_list = HelloWorld.objects.all() return render(request, 'accountapp/hello_world.html', context={'hello_world_list': hello_world_list})
Python
복사
views.py
{% extends 'base.html' %} {% block content %} <div style="border-radius: 1rem; margin: 2rem; text-align: center"> <h1 style="font-family: 'Gamja Flower', cursive;"> Hello World LIST! </h1> <form action="/account/hello_world/" method="post"> {% csrf_token %} <div> <input type="text" name="hello_world_input"> </div> <div> <input type="submit" class="btn btn-primary" value="POST"> </div> </form> {% if hello_world_list %} {% for hello_world in hello_world_list %} <h4> {{ hello_world.text }} </h4> {% endfor %} {% endif %} </div> {% endblock %}
HTML
복사
from django.http import HttpResponse, HttpResponseRedirect from django.shortcuts import render # Create your views here. from django.urls import reverse from accountapp.models import HelloWorld def hello_world(request): if request.method == "POST": temp = request.POST.get('hello_world_input') new_hello_world = HelloWorld() new_hello_world.text = temp new_hello_world.save() hello_world_list = HelloWorld.objects.all() return HttpResponseRedirect(reverse('accountapp:hello_world')) else: hello_world_list = HelloWorld.objects.all() return render(request, 'accountapp/hello_world.html', context={'hello_world_list': hello_world_list})
Python
복사
views.py