------------------------------------------------------------------------
클라이언트가 웹 브라우저에서 DB까지 데이터 보내기
-------------------------------------------------------------------------
1. form 태그와 뷰
1) views.py 사용자의 요청을 처리하는 views.py에서 사용자가 요청하는 메소드에 따라 처리해주는 코드를 작성 views.py는 사용자의 요청을 받아 원하는 함수를 실행할 때 request 객체를 전달하는데 request 객체에는 메소드, 사용자가 전달한 데이터 등 다양한 정보가 들어 있다.
(1) GET으로 요청을 받을 때 if request.method=="GET" : return render(request, 'test.html')
(2) POST로 요청을 받을 때 if request.method=="POST" : return render(request, 'test2.html')
2. form 태그와 모델
1) forms.py 파일 from django import forms from .models import Fruit class FruitForm(forms.ModelForm): class Meta: model = Fruit fields = ('name', 'descript', 'price', 'quantity')
2) views.py 파일 if request.method=="GET" : form = FruitForm() return render(request, 'test.html', {'form': form}) elif request.method=="POST" : form = FruitForm(request.POST) if form.is_valid(): post = form.save(commit=False) post.save() return render(request, 'test2.html')
3) html 파일 <form action="." method="post"> {% csrf_token %} {{ form.as_p }} <input type="submit"> </form> 또는 input 태그 직접 작성
-------------------------------------------------------------------------
DB에 저장된 데이터를 클라이언트의 웹 브라우저에 보내기
-------------------------------------------------------------------------
1) views.py from django.shortcuts import render from formtest.models import Fruit def read(request): abcd = Fruit.objects.all() return render(request, 'getgetget.html', {'qwer': abcd})
2) html 파일 <body> {% if qwer %} <ul> {% for qw in qwer %} <li>{{ qw.name }}</li> {% endfor %} </ul> {% endif %} </body>
DB연동 (0) | 2020.08.13 |
---|---|
정적파일 (0) | 2020.08.13 |
장고 프로젝트 구조 (0) | 2020.08.10 |