示例#1
0
def blog_post(request,blog_id):
    stores_ip(request)
    context = {}
    obj = get_object_or_404(models.BlogPost,id=blog_id) 
    comments = models.Comment.objects.filter(post=obj ,is_published=True)
    print(comments)
    context['obj'] = obj
    context['comments'] = comments
    obj_prev = models.BlogPost.objects.filter(id__lt=blog_id)[0:1]
    obj_next = models.BlogPost.objects.filter(id__gt=blog_id)[0:1]
    if obj_prev:
        context['obj_prev']=obj_prev
    if obj_next:
        context['obj_next']=obj_next
    form = forms.CommentForm
    context['form'] = form
    if 'liked'in  request.session:
        if blog_id in request.session['liked']:
            context['liked'] = True
    elif 'disliked' in request.session:
        if blog_id in request.session['liked']:
            context['disliked'] = True
    if request.method == 'POST':
        form = forms.CommentForm(request.POST)
        if form.is_valid():
            form.savepost(request,form,obj)
            sendemail('You have recieved a new comment', f"Hello there, you have recieved new comment from {form.cleaned_data['name']} and for the post {obj.title}")
    return render(request, 'blog/post.html', context)
示例#2
0
def create_post(request):
    form = forms.PostForm
    if request.method == 'POST':
        form = forms.PostForm(request.POST, request.FILES)
        if form.is_valid():
            print('from valid')
            form.savepost(request,form) 
            sendemail("There's a new post in your website ", f"Hello There, you have a new post in the website with the title {form.cleaned_data['title']} and by {request.user.name} and it havent published yet.")
            return redirect('admin')
            # send an email
    return render(request, 'blog/create_post.html', {'form': form})
示例#3
0
def contact(requests):
    form = forms.ContactForm
    stores_ip(requests)

    if requests.method == 'POST':
        form = forms.ContactForm(requests.POST)
        if form.is_valid():
            form.save()
            sendemail(
                'You have recieved a new contact form',
                f"Hey, you have recieved a new contact form with a name of {form.cleaned_data['name']} and email {form.cleaned_data['email']}"
            )

            # send an email
    return render(requests, 'pages/contact.html', {'form': form})
示例#4
0
def dislike_post(request,blog_id):
    sendemail('Hey you have a new dislike',f'Hello, you have recieved a dislike in the post {obj.title}')
    obj = get_object_or_404(models.BlogPost, id=blog_id)
    if 'disliked' in request.session:
        disliked_posts = request.session['disliked']
        disliked_posts.append(blog_id)
        request.session['disliked'] = disliked_posts
        obj.dislikes += 1
        obj.save()
        return redirect('blogpost', blog_id)
    else: 
        disliked_posts = []
        disliked_posts.append(blog_id)
        request.session['disliked'] = disliked_posts
        obj.dislikes += 1
        obj.save()
        return redirect('blogpost', blog_id)
示例#5
0
def like_post(request,blog_id):
    obj = get_object_or_404(models.BlogPost, id=blog_id)
    sendemail('Hey you have a new like',f'Hello, you have recieved a like in the post {obj.title}')
    if 'liked' in request.session:
        liked_posts = request.session['liked']
        liked_posts.append(blog_id)
        request.session['liked'] = liked_posts
        obj.likes += 1
        obj.save()
        return redirect('blogpost', blog_id)
    else: 
        liked_posts = []
        liked_posts.append(blog_id)
        request.session['liked'] = liked_posts
        obj.likes += 1
        obj.save()
        return redirect('blogpost', blog_id)
示例#6
0
def stores_ip(request):
    record = models.ViewLog(IP=get_client_ip(request))
    record.save()
    if models.ViewLog.objects.all().count() % 100 == 0:
        sendemail('You have scored another 100 views', f'Hey, you have recieved another 100 views and has a total views of {models.ViewLog.objects.all().count()}')