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

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

Django Shell과 Jupyter notebook에서 Django를 import하여 사용하는 방법입니다.

https://youtu.be/Di5CYnoHYRk

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

앞서 작성한 write 메뉴에서 좀 더 다양한 방식으로 사용자가 입력한 값을 처리하는 방법을 알아보도록 하겠습니다. 필요하신 분이 있으시다면 아래 튜토리얼을 따라해보세요.

https://s3-us-west-2.amazonaws.com/secure.notion-static.com/fbc8f9d9-2d8d-43b2-9007-1340f439eda3/Untitled.png

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개의 형태를 추가하니, 참고바랍니다.