コード例 #1
0
 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')
コード例 #2
0
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)
コード例 #3
0
ファイル: views.py プロジェクト: JAYBLA/sogea
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)
コード例 #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")
コード例 #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)
コード例 #6
0
class ContactView(View):
    form = EmailSignupForm()

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

        context = {'form': self.form}
        return render(request, 'Contact.html', context)
コード例 #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)
コード例 #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
    })
コード例 #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)
コード例 #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)
コード例 #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
        })
コード例 #12
0
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
コード例 #13
0
ファイル: views.py プロジェクト: IzDmitry/blog
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
コード例 #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)
コード例 #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')
コード例 #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)
コード例 #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)
コード例 #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")
コード例 #19
0
ファイル: views.py プロジェクト: sundartamang/Blog
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)
コード例 #20
0
ファイル: views.py プロジェクト: JAYBLA/sogea
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)
コード例 #21
0
ファイル: views.py プロジェクト: LeoArruda/myBlog
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")
コード例 #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)
コード例 #23
0
ファイル: views.py プロジェクト: mihainegrisan/official-site
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)
コード例 #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")
コード例 #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)
コード例 #26
0
def home(request):
    form = EmailSignupForm()
    return render(request, 'blog/home.html', {'form': form})