예제 #1
0
def register(request):
    category_count = get_category_count()
    most_recent = Post.objects.order_by('-timestamp')[:3]
    if request.user.is_authenticated:
        return redirect('profile')
    elif request.method == 'POST':
        form = UserRegisterForm(request.POST)
        if form.is_valid():
            user = form.save()
            username = form.cleaned_data.get('username')
            password = form.cleaned_data.get('password')
            user.save()
            messages.success(
                request,
                f'{username} user\'s has been created successfully. You can login now.'
            )
            return redirect('login')
    else:
        form = UserRegisterForm()
    context = {
        'form': form,
        'most_recent': most_recent,
        'category_count': category_count,
    }
    return render(request, 'users/register.html', context)
예제 #2
0
def login_page(request):
    category_count = get_category_count()
    most_recent = Post.objects.order_by('-timestamp')[:3]
    if request.user.is_authenticated:
        return redirect('profile')
    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)
            if 'next' in request.POST:
                return redirect(request.POST.get('next'))
            else:
                return redirect('blog-home')
        else:
            messages.error(
                request,
                'Please enter a correct username and password. Note that both fields may be case-sensitive.'
            )
    context = {
        'title': 'Login',
        'most_recent': most_recent,
        'category_count': category_count,
    }
    return render(request, 'users/login.html', context)
예제 #3
0
 def get_context_data(self, **kwargs):
     category_count = get_category_count()
     most_recent = Post.objects.order_by('-timestamp')[:3]
     context = super().get_context_data(**kwargs)
     context['most_recent'] = most_recent
     context['category_count'] = category_count
     return context
예제 #4
0
 def get_context_data(self, **kwargs):
     category_count = get_category_count()
     most_recent = Post.objects.order_by('-timestamp')[:3]
     context = super().get_context_data(**kwargs)
     context['most_recent'] = most_recent
     context['category_count'] = category_count
     context['login_url'] = resolve_url(settings.LOGIN_URL)
     return context
예제 #5
0
 def get_context_data(self, **kwargs):
     category_count = get_category_count()
     most_recent = Post.objects.order_by('-timestamp')[:3]
     context = super().get_context_data(**kwargs)
     context.update({'title': self.title, **(self.extra_context or {})})
     context['most_recent'] = most_recent
     context['category_count'] = category_count
     return context
예제 #6
0
 def get_context_data(self, *args, **kwargs):
     category_count = get_category_count()
     most_recent = Post.objects.order_by('-timestamp')[:3]
     context = super(SearchListView, self).get_context_data(*args, **kwargs)
     query = self.request.GET.get('q')
     context['head_title'] = 'Search'
     context['most_recent'] = most_recent
     context['category_count'] = category_count
     context['query'] = self.request.GET.get('q')
     return context
예제 #7
0
def logout_page(request):
    category_count = get_category_count()
    most_recent = Post.objects.order_by('-timestamp')[:3]
    logout(request)
    messages.success(request, 'Log Out 완료!')
    context = {
        'title': 'Logout',
        'most_recent': most_recent,
        'category_count': category_count,
    }
    return render(request, 'users/logout.html', context)
예제 #8
0
 def get_context_data(self, **kwargs):
     category_count = get_category_count()
     most_recent = Post.objects.order_by('-timestamp')[:3]
     context = super().get_context_data(**kwargs)
     if self.validlink:
         context['validlink'] = True
     else:
         context.update({
             'form': None,
             'title': _('Password reset unsuccessful'),
             'validlink': False,
         })
     context['most_recent'] = most_recent
     context['category_count'] = category_count
     return context
예제 #9
0
def profile(request):
    category_count = get_category_count()
    most_recent = Post.objects.order_by('-timestamp')[:3]
    if request.method == 'POST':
        u_form = UserUpdateForm(request.POST, instance=request.user)
        p_form = ProfileUpdateForm(request.POST,
                                   request.FILES,
                                   instance=request.user.profile)
        if u_form.is_valid() and p_form.is_valid():
            u_form.save()
            p_form.save()
            messages.success(request, '프로필 수정이 완료되었습니다!')
            return redirect('profile')
    else:
        u_form = UserUpdateForm(instance=request.user)
        p_form = ProfileUpdateForm(instance=request.user.profile)
    context = {
        'u_form': u_form,
        'p_form': p_form,
        'most_recent': most_recent,
        'category_count': category_count,
    }
    return render(request, 'users/profile.html', context)
예제 #10
0
def login_page(request):
    category_count = get_category_count()
    most_recent = Post.objects.order_by('-timestamp')[:3]
    if request.user.is_authenticated:
        return redirect('profile')
    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)
            if 'next' in request.POST:
                return redirect(request.POST.get('next'))
            else:
                return redirect('home')
        else:
            messages.error(request, '아이디 또는 비밀번호가 일치하지 않습니다')
    context = {
        'title': 'Login',
        'most_recent': most_recent,
        'category_count': category_count,
    }
    return render(request, 'users/login.html', context)
예제 #11
0
def post_detail(request,pk):
	Post=get_object_or_404(post,pk=pk)
	Postview.objects.get_or_create(user=request.user,post=Post)
	categories_count=get_category_count()
	post_categories=category.objects.all()
	others=post.objects.all()
	form=commentform(request.POST or None)
	if request.method == 'POST':
		if form.is_valid():
			form.instance.user=request.user
			form.instance.post=Post
			form.save()
			return redirect(reverse('post-detail',kwargs={
				'pk':Post.pk
				}))
	context={
	'post':Post,
	'categories':post_categories,
	'categories_count':categories_count,
	'others':others,
	'form':form,
	}
	return render(request,'posts/post.html',context)