def post(self, request, *args, **kwargs):
     email = request.POST['email']
     new_email = EmailSignupForm()
     # assign the email value which is retrieved from the html form
     new_email.email = email
     new_email.save()
     return redirect('home')
def home_view(request):
    #email_subscribed=False
    images = None
    email_form = EmailSignupForm()
    image_form = ImageForm(request.POST, request.FILES)
    if request.method == "POST":
        if email_form.is_valid():
            email = request.POST["email"]
            new_signup = Signup()
            new_signup.email = email
            new_signup.save()

            messages.success(request, 'Subscription succesful')
            #email_subscribed=True
        else:
            if image_form.is_valid():

                #images = request.FILES['image']
                new_image = UploadImage(image=request.FILES['image'])
                print()
                new_image.save()
                images = UploadImage.objects.all()
                images = images[len(images) - 1]

    context = {
        'page': 'home',
        'form_marketing': email_form,
        'imageform': image_form,
        'images': images
    }
    return render(request, "index.html", context)
Example #3
0
def monthly_posts(request):

    template_name = 'main/index.html'

    one_month_ago = datetime.today() - timedelta(days=30)

    posts_list = Post.objects.filter(
        published_date__lte=one_month_ago,
        status='Approved').exclude(featured=True).order_by('-published_date')

    try:
        p_ft = Post.objects.get(featured=True)
        common_tags = Post.tags.most_common()[:4]
    except Post.DoesNotExist:
        p_ft = None
        common_tags = None

    context = {
        'posts_list': posts_list,
        'form': EmailSignupForm(),
        'common_tags': common_tags,
        'p_ft': p_ft,
    }

    return render(request, template_name, context=context)
Example #4
0
class IndexView(View):
    form = EmailSignupForm()

    def get(self, request, *args, **kwargs):
        category_count = get_category_count()
        most_recent = Post.objects.filter(
            featured=True).order_by('-timestamp')[:3]
        post_list = Post.objects.filter(featured=True).all()
        tags = get_tags_count()
        paginator = Paginator(post_list, 2)
        page_request_var = 'page'
        page = request.GET.get(page_request_var)
        try:
            paginated_queryset = paginator.page(page)
        except PageNotAnInteger:
            paginated_queryset = paginator.page(1)
        except EmptyPage:
            paginated_queryset = paginator.page(paginator.num_pages)
        context = {
            'object_list': paginated_queryset,
            'most_recent': most_recent,
            'page_request_var': page_request_var,
            'category_count': category_count,
            'tags': tags,
            'form': self.form
        }
        return render(request, 'index.html', context)

    def post(self, request, *args, **kwargs):
        email = request.POST.get("email")
        new_signup = Signup()
        new_signup.email = email
        new_signup.save()
        messages.info(request, "Successfully subscribed")
        return redirect("home")
Example #5
0
def shop(request, tag_slug=None, name_slug=None):
    items = Item.objects.order_by('-created')
    tags = Tag.objects.all()
    items_on_promotion = Item.objects.filter(label='P').order_by('-created')[:6]
    form = EmailSignupForm()

    tag = None

    if tag_slug:
        tag = get_object_or_404(Tag, slug=tag_slug)
        items = items.filter(tags__in=[tag])

    if name_slug == 'asc':
        items = Item.objects.order_by('title')
    elif name_slug == 'desc':
        items = Item.objects.order_by('-title')

    paginator = Paginator(items, 8)
    page = request.GET.get('page')
    try:
        items = paginator.page(page)
    except PageNotAnInteger:
        items = paginator.page(1)
    except EmptyPage:
        items = paginator.page(paginator.num_pages)
    context = {
        'items': items,
        'tag': tag,
        'page': page,
        'tags': tags,
        'items_on_promotion': items_on_promotion,
        'form': form,
    }
    return render(request, "shop/shop.html", context)
Example #6
0
class ContactView(View):
    form = EmailSignupForm()

    def get(self, request, *args, **kwargs):

        context = {'form': self.form}
        return render(request, 'Contact.html', context)
Example #7
0
def blog(request):
    category_count = get_category_count()
    most_recent = Post.objects.order_by('-timestamp')[0:3]
    post_list = Post.objects.get_queryset().order_by('id')
    paginator = Paginator(post_list, 4)
    page_request_var = 'page'
    page = request.GET.get(page_request_var)
    form = EmailSignupForm()
    if request.method == "POST":
        email = request.POST["email"]
        new_signup = Signup()
        new_signup.email = email
        new_signup.save()

    try:
        paginated_queryset = paginator.page(page)

    except PageNotAnInteger:
        paginated_queryset = paginator.page(1)

    except EmptyPage:
        paginated_queryset = paginator.page(paginator.num_pages)

    context = {
        'blog_page': 'active',
        'form': form,
        'queryset': paginated_queryset,
        'most_recent': most_recent,
        'page_request_var': page_request_var,
        'category_count': category_count
    }
    return render(request, 'blog/blog.html', context)
Example #8
0
def post_detail(request, post_title):
    form = EmailSignupForm()
    post = get_object_or_404(Post, title=post_title)
    comments = Comment.objects.all()
    return render(request, 'blog/post_detail.html', {
        'post': post,
        'comments': comments,
        'form': form
    })
Example #9
0
def index(request):
    featured = Post.objects.filter(featured=True)
    latest = Post.objects.order_by('-timestamp')[0:3]
    form = EmailSignupForm()
    if request.method == "POST":
        email = request.POST["email"]
        new_signup = Signup()
        new_signup.email = email
        new_signup.save()

    context = {'object_list': featured, 'latest': latest, 'form': form}
    return render(request, 'index.html', context)
Example #10
0
def index(request):
    """
    A view to return the index page and take mailing list signups
    """
    form = EmailSignupForm()
    if request.method == "POST":
        email = request.POST["email"]
        new_signup = Signup()
        new_signup.email = email
        new_signup.save()

    context = {"form": form}
    return render(request, "home/index.html", context)
Example #11
0
def post_list(request):
    form = EmailSignupForm()
    commentForm = CommentForm()
    posts = Post.objects.filter(
        published_date__lte=timezone.now()).order_by('published_date')
    comments = Comment.objects.all()
    return render(
        request, 'blog/post_list.html', {
            'posts': posts,
            'form': form,
            'commentForm': commentForm,
            'comments': comments
        })
class BlogListView(ListView):
    model = Post
    form = EmailSignupForm()
    template_name = 'blog.html'
    context_object_name = 'queryset'
    paginate_by = 4
    allow_empty = True
    
    def get_context_data(self, **kwargs):
        context = super().get_context_data(**kwargs)
        context['latest_post'] = Post.objects.order_by('-timestamp')[:3]
        context['category_count'] = get_category_count()
        context['form'] = self.form
        return context
Example #13
0
class PostListView(ListView):
    form = EmailSignupForm()
    model = Post
    template_name = 'blog.html'
    context_object_name = 'queryset'
    paginate_by = 4

    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['page_request_var'] = "page"
        context['category_count'] = category_count
        context['form'] = self.form
        return context
Example #14
0
 def get(self, *args, **kwargs):
     post_list = Post.objects.filter(
         featured=True,
         published_date__lte=timezone.now()).order_by('-published_date')[:3]
     latest = Post.objects.filter(
         published_date__lte=timezone.now()).order_by('-published_date')[:3]
     pics = Post.objects.filter(published_date__lte=timezone.now()
                                ).order_by('-published_date')[3:7]
     form = EmailSignupForm()
     context = {
         'post_list': post_list,
         'latest': latest,
         'pics': pics,
         'form': form,
     }
     return render(self.request,
                   template_name='blog/home.html',
                   context=context)
Example #15
0
class IndexView(View):
    form = EmailSignupForm()

    def get(self, request, *args, **kwargs):
        featured = Post.objects.filter(featured=True)
        latest = Post.objects.order_by('-timestamp')[0:3]
        context = {
            'object_list': featured,
            'latest': latest,
            'form': self.form
        }
        return render(self.request, 'index.html', context)

    def post(self, request, *args, **kwargs):
        email = self.request.POST.get('email')
        new_signup = Signup(email=email)
        new_signup.save()
        messages.info(self.request, 'Successfully subscribed.')
        return redirect('home')
Example #16
0
def blogs(request):
    subscribe_form = EmailSignupForm()
    queryset = Blog.objects.all().order_by('-created_at')
    page = request.GET.get('page', 1)
    paginator = Paginator(queryset, 4)

    try:
        blogs = paginator.page(page)
    except PageNotAnInteger:
        blogs = paginator.page(1)
    except EmptyPage:
        blogs = paginator.page(paginator.num_pages)

    context = {
        'blogs': blogs,
        'title': 'blogs list',
        'subscribe_form': subscribe_form,
        'categories': get_category_count()
    }
    return render(request, 'blogs/blogs.html', context)
Example #17
0
def category_blogs(request, category_name):
    subscribe_form = EmailSignupForm()
    queryset = Blog.objects.filter(
        category__title=category_name).order_by('-created_at')
    paginator = Paginator(queryset, 5)
    page = request.GET.get('page')

    try:
        blogs = paginator.page(page)
    except PageNotAnInteger:
        blogs = paginator.page(1)
    except EmptyPage:
        blogs = paginator.page(paginator.num_pages)

    context = {
        'blogs': blogs,
        'categories': get_category_count(),
        'subscribe_form': subscribe_form,
        'categories': get_category_count()
    }
    return render(request, 'blogs/category-blogs.html', context)
Example #18
0
class IndexView(View):
    form = EmailSignupForm()

    def get(self, request, *args, **kwargs):
        featured = Post.objects.filter(featured=True)
        first_three = Post.objects.order_by('timestamp')[:3]
        latest_posts = Post.objects.order_by('-timestamp')[0:3]
        context = {
            'object_list': featured,
            'latest': latest_posts,
            'form': self.form,
            'first_three': first_three,
        }
        return render(request, 'index.html', context)

    def post(self, request, *args, **kwargs):
        email = request.POST.get('email')
        new_signup = SignUp()
        new_signup.email = email
        new_signup.save()
        return redirect("index")
Example #19
0
def homeView(request):
    post = Post.objects.all().order_by('-pub_date')
    paginator = Paginator(post, 3)
    page_number = request.GET.get('page')
    page_obj = paginator.get_page(page_number)
    comments = Comment.objects.all()
    form = EmailSignupForm()

    if request.method == "POST":
        email = request.POST["email"]
        new_signup = Signup()
        new_signup.email = email
        new_signup.save()
    context = {
        'categories': count(),
        'object': post,
        'page_obj': page_obj,
        'comments': comments,
        'form': form
    }
    return render(request, 'index.html', context)
Example #20
0
def homepage(request):

    template_name = 'main/index.html'

    posts_list = Post.objects.filter(status='Approved').exclude(
        featured=True).order_by('-published_date')

    try:
        p_ft = Post.objects.get(featured=True)
        common_tags = Post.tags.most_common()[:4]
    except Post.DoesNotExist:
        p_ft = None
        common_tags = None

    context = {
        'posts_list': posts_list,
        'form': EmailSignupForm(),
        'common_tags': common_tags,
        'p_ft': p_ft,
    }

    return render(request, template_name, context=context)
Example #21
0
class IndexView(View):
    form = EmailSignupForm()

    def get(self, request, *args, **kwargs):
        featured = Post.objects.filter(featured=True)
        latest = Post.objects.order_by('-timestamp')[0:3]
        random_gallery = random_list(Post.objects.order_by('-timestamp'), 5)
        context = {
            'object_list': featured,
            'latest': latest,
            'form': self.form,
            'gallery': random_gallery
        }
        return render(request, 'index.html', context)

    def post(self, request, *args, **kwargs):
        email = request.POST.get("email")
        new_signup = Signup()
        new_signup.email = email
        new_signup.save()
        messages.info(request, "Successfully subscribed")
        return redirect("home")
Example #22
0
def home(request):
    subscribe_form = EmailSignupForm()
    queryset = Blog.objects.filter(featured=True).order_by('-created_at')
    latest = Blog.objects.filter(blog_views__gte=5)
    page = request.GET.get('page', 1)
    paginator = Paginator(queryset, 5)

    try:
        blogs = paginator.page(page)
    except PageNotAnInteger:
        blogs = paginator.page(1)
    except EmptyPage:
        blogs = paginator.page(paginator.num_pages)

    context = {
        'blogs': blogs,
        'latest': latest,
        'title': 'home',
        'subscribe_form': subscribe_form,
        'categories': get_category_count()
        # 'views': blog_view_num
    }
    return render(request, 'blogs/home.html', context)
Example #23
0
def post_list(request, tag_slug=None):
    object_list = Post.published.all()
    form = EmailSignupForm()

    # search posts feature
    query = request.GET.get('query')
    if query:
        query = query.strip()
        object_list = object_list.filter(
            Q(title__icontains=query) | Q(tags__name__icontains=query)
            | Q(content__icontains=query)
            | Q(author__username__icontains=query)).distinct()
        # distinct() -> no duplicates

    tag = None
    if tag_slug:
        # get the Tag object with the specific tag in the db
        tag = get_object_or_404(Tag, slug=tag_slug)
        object_list = object_list.filter(tags__in=[tag])

    paginator = Paginator(object_list, 3)
    page = request.GET.get('page')
    try:
        posts = paginator.page(page)
    except PageNotAnInteger:
        posts = paginator.page(1)
    except EmptyPage:
        posts = paginator.page(paginator.num_pages)

    context = {
        'page': page,
        'posts': posts,
        'tag': tag,
        'section': 'home',
        'form': form,
    }
    return render(request, 'blog/post_list.html', context)
Example #24
0
class IndexView(View):
    form = EmailSignupForm()

    def get(self, request, *args, **kwargs):
        image = Galary.objects.all()
        homepage = HomePage.objects.all()
        featured = Post.objects.filter(featured=True)
        latest = Post.objects.order_by('-timestamp')[0:3]
        context = {
            'homepages': homepage,
            'img': image,
            'object_list': featured,
            'latest': latest,
            'form': self.form
        }
        return render(request, 'index.html', context)

    def post(self, request, *args, **kwargs):
        email = request.POST.get("email")
        new_signup = Signup()
        new_signup.email = email
        new_signup.save()
        messages.info(request, "Successfully subscribed")
        return redirect("home")
Example #25
0
from django.db.models import Count, Q
from django.contrib import messages
from django.core.paginator import Paginator, EmptyPage, PageNotAnInteger
from django.shortcuts import render, get_object_or_404, redirect, reverse
from django.views.generic import View, ListView, DetailView, CreateView, UpdateView, DeleteView

from .forms import CommentForm, PostForm
from .models import Post, Author, PostView, HomePage, Galary
from marketing.forms import EmailSignupForm
from marketing.models import Signup

form = EmailSignupForm()


def get_author(user):
    qs = Author.objects.filter(user=user)
    if qs.exists():
        return qs[0]
    return None


class SearchView(View):
    def get(self, request, *args, **kwargs):
        queryset = Post.objects.all()
        query = request.GET.get('q')
        if query:
            queryset = queryset.filter(
                Q(title__icontains=query)
                | Q(overview__icontains=query)).distinct()
        context = {'queryset': queryset}
        return render(request, 'search_results.html', context)
Example #26
0
def home(request):
    form = EmailSignupForm()
    return render(request, 'blog/home.html', {'form': form})