Python 기초를 배웠던 colab이나 jupyter notebook을 사용해보셨다면! 그곳에서 UserData를 분석해보거나, Django에 여러 모듈을 만져보고 싶지 않으신가요? 그래서 준비했습니다.
Django Shell과 Jupyter notebook에서 Django를 import하여 사용하는 방법입니다.
앞서 작성한 write 메뉴에서 좀 더 다양한 방식으로 사용자가 입력한 값을 처리하는 방법을 알아보도록 하겠습니다. 필요하신 분이 있으시다면 아래 튜토리얼을 따라해보세요.
App 안에 form.py파일을 만들고 그 안에 아래와 같이 입력합니다.
from django import forms
from .models import Product
class PostForm(forms.ModelForm):
class Meta:
model= Product
fields = ('productname', 'contents' ,)
form으로 전달된 값이 POST인지 확인하여 form을 처리하는 코드입니다.
from django.shortcuts import render
from .models import Product
from .forms import PostForm
#Create your views here
def index(request):
return render(request, 'product/index.html')
def product(request):
productlist = Product.objets.all()
if request.method == "POST":
form = PostForm(request.POST)
if form.is_valid():
post = form.save(commit=False)
post.author = request.user
post.save()
return render(request, 'product/product.html, {'productlist':productlist})
else:
form = PostForm()
return render(request, 'product/product.html, {'form':form, 'productlist':productlist}
html 파일은 아래와 같이 작성해주세요.
<form method="POST">
{% crsf_token %}
{{ form.as_p}}
<button type="submit">submit</button>
</form>
form.as_p 탬플릿 태그를 사용하면 Django가 모델에 있는 form을 템플릿으로 전달해줍니다. 아래 3개의 형태를 추가하니, 참고바랍니다.