from django.shortcuts import render
from django.utils import timezone
from .models import PersonalBlogPost
from django.urls import reverse_lazy
from django.views import generic
from django.http import HttpResponseRedirect, HttpResponseNotFound
from django.shortcuts import render, redirect
from . import forms
from django.forms import ModelForm as Form
from datetime import datetime
def personal_blog_post_list(request):
posts = PersonalBlogPost.objects.filter(published_date__lte=datetime.now()).order_by('-published_date')
return render(request, 'personal_blog/personal_blog.html', {'posts': posts})
def view_post(request):
posts = PersonalBlogPost.objects.get(pk=request.post_id)
return render(request, 'personal_blog/post.html', {'posts': posts})
def new_personal_post(request):
if request.method == 'POST':
form = forms.PersonalBlogPostForm(request.POST)
if form.is_valid():
personal_post = form.save(commit=False)
personal_post.author = request.user
personal_post.save()
return redirect('blog_personal')
else:
form = forms.PersonalBlogPostForm()
return render(request, 'personal_blog/new_post.html', {'form': form})
===========================================================================
# personal_blog/urls.py
from django.conf.urls import url, include
from django.urls import path
from django.views.generic import ListView, DetailView, TemplateView
from .models import PersonalBlogPost
from . import views
urlpatterns = [
path('', views.personal_blog_post_list, name='personal_blog'),
url(r'^personal_blog/', views.new_personal_post, name='new_post'),
url(r'^(?P<author>\w)/$', ListView.as_view(model = PersonalBlogPost,
template_name = 'personal_blog/personal_blog.html')),
url(r'^',views.view_post, name='view_post'),