-
Notifications
You must be signed in to change notification settings - Fork 1
/
Copy pathviews.py
101 lines (66 loc) · 2.36 KB
/
views.py
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
from django.contrib import messages
from django.contrib.auth.decorators import login_required
from django.shortcuts import render,get_object_or_404,redirect
from django.db import models
from django.http import HttpResponse,HttpResponseRedirect
from posts.models import Post
# Create your views here.
from posts.forms import PostForm
from django.core.paginator import Paginator, EmptyPage, PageNotAnInteger
from django.shortcuts import render
def post_create(request):
form = PostForm(request.POST or None,request.FILES or None)
if form.is_valid():
instance=form.save(commit=False)
instance.save()
messages.success(request,"Successfully Posted")
return HttpResponseRedirect(instance.get_absolute_url())
context={
"form":form,
"title":"create view",
}
return render(request,"postform.html",context)
def post_home(request):
qset=Post.objects.all().order_by('-timestamp')
paginator = Paginator(qset, 10) # Show 25 contacts per page
page = request.GET.get('page')
try:
queryset = paginator.page(page)
except PageNotAnInteger:
# If page is not an integer, deliver first page.
queryset = paginator.page(1)
except EmptyPage:
# If page is out of range (e.g. 9999), deliver last page of results.
queryset = paginator.page(paginator.num_pages)
context={
"object_list":queryset,
"title":"list"
}
return render(request,"base.html",context)
def post_update(request,id=None):
print id
instance = get_object_or_404(Post, id=id)
form=PostForm(request.POST or None,request.FILES or None, instance=instance)
print "one"
if form.is_valid():
instance=form.save(commit=False)
instance.save()
messages.success(request, "Successfully Posted")
return HttpResponseRedirect(instance.get_absolute_url())
context = {
"form": form,
"title": "update view",
}
return render(request, "postform.html", context)
def post_detail(request,id=None):
qset=get_object_or_404(Post,id=id)
context={
"obj":qset,
"title":"list"
}
return render(request,"detail.html",context)
def post_delete(request,id=None):
instance=get_object_or_404(Post,id=id)
instance.delete()
messages.success(request,"Deleted your post")
return redirect("posts")