from django.shortcuts import render, redirect
from django.contrib.auth import authenticate, login
def login_view(request):
if request.method == 'POST':
username = request.POST['username']
password = request.POST['password']
user = authenticate(request, username=username, password=password)
if user is not None:
login(request, user)
return redirect('home')
else:
messages.error(request, 'Invalid username or password')
return redirect('login')
return render(request, 'login.html')
입력한게 DB의 데이터와 일치한지 확인하고,
일치한다면 로그인시키고 home에 보냄
일치하지 않으면 에러메시지 띄우고 로그인 페이지로 다시 보냄.
메소드가 POST가 아니라면 로그인페이지로 다시 보냄
def post_update(request, post_id):
post = get_object_or_404(Post, pk=post_id) # 모두 정답
post = get_object_or_404(Post, id=post_id) # 모두 정답
post = Post.objects.get(pk=post_id) # 모두 정답
post = Post.objects.get(id=post_id) # 모두 정답
if request.method == 'POST':
form = PostForm(request.POST, instance=post)
if form.is_valid():
form.save()
return redirect('post_list')
else:
form = PostForm(instance=post)
return render(request, 'posts/form.html', {'form': form})
def post_delete(request, post_id):
post = get_object_or_404(Post, pk=post_id) # 모두 정답
post = get_object_or_404(Post, id=post_id) # 모두 정답
post = Post.objects.get(pk=post_id) # 모두 정답
post = Post.objects.get(id=post_id) # 모두 정답
if request.method == 'POST':
post.delete()
return redirect('post_list')
return render(request, 'posts/confirm_delete.html', {'post': post})