-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy pathfood-menu-app.py
73 lines (53 loc) · 1.8 KB
/
food-menu-app.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
urls py:
from django.contrib import admin
from django.urls import path
from newapp import views
urlpatterns = [
path('admin/', admin.site.urls),
path('movies/',views.movie_list,name='movie_list'),
]
movie_list html template:
<form action="" method="GET">
<input type="search" name="movie_name">
<button type="submit">Search</button>
</form>
{% for movie_item in movie_objects %}
{{ movie_item.name }}
</br>
{% endfor %}
{% if movie_objects.has_previous %}
<a href="?page=1">First</a>
<a href="?page={{ movie_objects.previous_page_number }}">Previous</a>
{% endif %}
Page: {{ movie_objects.number }} of {{ movie_objects.paginator.num_pages }}
{% if movie_objects.has_next %}
<a href="?page={{ movie_objects.next_page_number }}">Next</a>
<a href="?page={{ movie_objects.paginator.num_pages }}">Last</a>
{% endif %}
admin py:
from django.contrib import admin
from .models import Movies
# Register your models here.
admin.site.register(Movies)
models py:
from django.db import models
# Create your models here.
class Movies(models.Model):
def __str__(self):
return self.name
name = models.CharField(max_length=200)
rating = models.FloatField()
views py:
from django.shortcuts import render
from .models import Movies
from django.core.paginator import Paginator
# Create your views here.
def movie_list(request):
movie_objects = Movies.objects.all()
movie_name = request.GET.get('movie_name')
if movie_name != '' and movie_name is not None:
movie_objects = movie_objects.filter(name__icontains=movie_name)
paginator = Paginator(movie_objects,4)
page = request.GET.get('page')
movie_objects = paginator.get_page(page)
return render(request,'newapp/movie_list.html',{'movie_objects':movie_objects})