manytomanyfields 값을 따로 테이블로 그릴지 생각중
@require_http_methods(["GET", "POST"])
def signup(request):
if request.method == "POST":
form = CustomUserCreationForm(request.POST)
if form.is_valid():
user = form.save()
auth_login(request, user)
return redirect("profile")
else:
form = CustomUserCreationForm()
context = {"form": form}
return render(request, "accounts/signup.html", context)
@require_http_methods(["GET", "POST"])
def login(request):
if request.method == "POST":
form = AuthenticationForm(request.POST)
if form.is_valid():
auth_login(request, form.get_user())
next_url = request.GET.get("next") or "index" # 메인 페이지: 추후 생성 예정
return redirect(next_url)
else:
form = AuthenticationForm()
context = {"form": form}
return render(request, "accounts/login.html", context)
@require_POST
def logout(request):
if request.user.is_authenticated:
auth_logout(request)
return redirect("index") # 메인 페이지: 추후 생성 예정
def product_detail(request, pk):
product=get_object_or_404(Product, pk=pk)
product.hits+=1
product.save()
context={'product':product}
return render(request, 'products/product_detail.html', context)
@require_POST
def product_wish(request, pk):
if request.user.is_authenticated:
product=get_object_or_404(Product, pk=pk)
if product.wish.filter(pk=request.user.pk).exists():
product.wish.remove(request.user)
else:
product.wish.add(request.user)
return redirect('products:detail')
return redirect('accounts:login')
조회수는 detail 페이지에 들어올 때 cnt를 올리는 것으로 구현
찜목록은 이미 해당 값에 유저가 있다면 찜을 한 상태, 아니면 반대의 경우를 가지고 구현