🍊

18. (번외) 튜토리얼

1. Django Shell(번외 튜토리얼)

Python 기초를 배웠던 colab이나 jupyter notebook을 사용해보셨다면! 그곳에서 UserData를 분석해보거나, Django에 여러 모듈을 만져보고 싶지 않으신가요? 그래서 준비했습니다.
Django Shell과 Jupyter notebook에서 Django를 import하여 사용하는 방법입니다.
Video preview

2. Django form(번외 튜토리얼)

앞서 작성한 write 메뉴에서 좀 더 다양한 방식으로 사용자가 입력한 값을 처리하는 방법을 알아보도록 하겠습니다. 필요하신 분이 있으시다면 아래 튜토리얼을 따라해보세요.
notion imagenotion image
 
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개의 형태를 추가하니, 참고바랍니다.
 
form.as_pform.as_p
form.as_p
 
form.as_ulform.as_ul
form.as_ul
 
 
form.as_tableform.as_table
form.as_table