from .models import Post
from django.core.paginator import Paginator, PageNotAnInteger,EmptyPage
from django.views.generic import ListView, DetailView
from django.db.models import Q
def IndexList(request):
a_list = Post.objects.filter(status=1).order_by('-created_on')
paginator = Paginator(a_list, 3)
page = request.GET.get('page')
try:
index_list = paginator.page(page)
except PageNotAnInteger:
index_list = paginator.page(1)
except EmptyPage:
index_list = paginator.page(paginator.num_pages)
return render(request, 'Home.html', {'a_list': a_list, 'page': page, 'index_list': index_list})
def NewsList(request):
b_list = Post.objects.filter(category=0, status=1).order_by('-created_on')
paginator = Paginator(b_list, 1)
page = request.GET.get('page')
try:
news_list = paginator.page(page)
except PageNotAnInteger:
news_list = paginator.page(1)
except EmptyPage:
news_list = paginator.page(paginator.num_pages)
return render(request, 'News.html', {'b_list': b_list, 'page': page, 'news_list': news_list})
def EntertainmentList(request):
c_list = Post.objects.filter(status=1, category=1).order_by('-created_on')
paginator = Paginator(c_list, 3)
page = request.GET.get('page')
try:
entertainment_list = paginator.page(page)
except PageNotAnInteger:
entertainment_list = paginator.page(1)
except EmptyPage:
entertainment_list = paginator.page(paginator.num_pages)
return render(request, 'Entertainment.html', {'c_list': c_list, 'page': page, 'entertainment_list': entertainment_list })
def SportsList(request):
d_list = Post.objects.filter(status=1, category=2).order_by('-created_on')
paginator = Paginator(d_list, 3)
page = request.GET.get('page')
try:
sport_list = paginator.page(page)
except PageNotAnInteger:
sport_list = paginator.page(1)
except EmptyPage:
sport_list = paginator.page(paginator.num_pages)
return render(request, 'Sports.html', {'d_list': d_list, 'page': page, 'sport_list': sport_list})
def World_NewsList(request):
e_list = Post.objects.filter(status=1, category=3).order_by('-created_on')
paginator = Paginator(e_list, 3)
page = request.GET.get('page')
try:
world_list = paginator.page(page)
except PageNotAnInteger:
world_list = paginator.page(1)
except EmptyPage:
world_list = paginator.page(paginator.num_pages)
return render(request, 'WorldNews.html', {'e_list': e_list, 'page': page, 'world_list': world_list})
class SearchResultsViews(ListView):
model = Post
template_name = 'Search.html'
def get_queryset(self):
query = self.request.GET.get('q')
object_list = Post.objects.filter(Q(title__icontains=query))
return object_list
def post_details_view(request, post):
f = get_object_or_404(Post, slug=post)
return render(request, 'post_details.html', {'f': f})
from django.db import models
from django.urls import reverse
# Create your models here.
STATUS = (
(0, "Draft"),
(1, "Publish")
)
CATEGORY = (
(0, "News"),
(1, "Entertainment"),
(2, "Sports"),
(3, "WorldNews"),
)
class Post(models.Model):
title = models.CharField(max_length=200)
content = models.TextField()
slug = models.SlugField(max_length=200, unique=True)
updated_on = models.DateTimeField(auto_now=True)
created_on = models.DateTimeField(auto_now_add=True)
status = models.IntegerField(choices=STATUS, default=0)
image = models.ImageField(upload_to='images/', blank=True)
image1 = models.ImageField(upload_to='images/', blank=True)
image2 = models.ImageField(upload_to='images/', blank=True)
category = models.IntegerField(choices=CATEGORY, default=0)
class Meta:
ordering = ['-created_on']
def __str__(self):
return self.title
def get_absolute_url(self):
return reverse('Olofofofo:post_details_view', args=[self.slug])
from django.urls import path
from . import views
from .views import SearchResultsViews
urlpatterns = [
path('', views.IndexList, name='index'),
path('news', views.NewsList, name='news'),
path('entertainment', views.EntertainmentList, name='entertainment'),
path('sports', views.SportsList, name='sports'),
path('world_news', views.World_NewsList, name='world_news'),
path('Search', SearchResultsViews.as_view(), name='search'),
path('<slug:post>/', views.post_details_view, name='post_details'),
]
Sir here it's all the project, currently my phone camera has fault please help me out.
On Fri, Jul 3, 2020, 9:23 PM coolguy <cooldjangoprogrammer@gmail.com> wrote:
I am away at this time but can you send the project urls.py screen shot as well.--
On Friday, July 3, 2020 at 4:09:01 PM UTC-4, Tanni Seriki wrote:Here is my WhatsApp number+2348095594236Please I really need to solve this outOn Fri, Jul 3, 2020, 9:07 PM Tanni Seriki <tannis...@gmail.com> wrote:CoolguyPlease can we chat on WhatsApp...The post details is really giving me headache, please help outOn Fri, Jul 3, 2020, 9:04 PM coolguy <cooldjango...@gmail.com> wrote:Seems pretty simple unless you have specific question about something.--You have a model which has some fields including Slug field which should be unique i.e. unique=True but your screen shot is not clear..In views you are overriding the get_queryset() method of base class and assigning it to query variable for the 'q' from http GET request. Then filtering Post data with the values in query object you have just created. Finally returned the revised object_list including this new query context.In post_detail_views you are retrieving data from Post based on the post slug and assigning it to variable 'f'. Finally you used the render() shortcut to render the retrieved post using a template.In your urlpatterns you have defined the path for your post_detail which send the post as a slug to your view and in turn view returns the HTTP response.
On Friday, July 3, 2020 at 11:10:22 AM UTC-4, Tanni Seriki wrote:Please can someone put me through on this, post details view either one the function based view or class based view. Thanks
You received this message because you are subscribed to the Google Groups "Django users" group.
To unsubscribe from this group and stop receiving emails from it, send an email to django...@googlegroups.com.
To view this discussion on the web visit https://groups.google.com/d/msgid/django-users/d2457503-b332-4f26-8f8a-cda32934419fo%40googlegroups.com.
You received this message because you are subscribed to the Google Groups "Django users" group.
To unsubscribe from this group and stop receiving emails from it, send an email to django-users+unsubscribe@googlegroups.com.
To view this discussion on the web visit https://groups.google.com/d/msgid/django-users/bd9d5723-7eed-4334-9d6c-de5a076883ebo%40googlegroups.com.
You received this message because you are subscribed to the Google Groups "Django users" group.
To unsubscribe from this group and stop receiving emails from it, send an email to django-users+unsubscribe@googlegroups.com.
To view this discussion on the web visit https://groups.google.com/d/msgid/django-users/CALWCJq2MSEz98Ke7F3x%2BUgfZC9BVRm9RmVbkKL94V7%2BsPFxKXQ%40mail.gmail.com.
No comments:
Post a Comment