Отображение объектов на веб-странице в Django
Я пытаюсь показать все данные, которые я сохранил на странице администратора, пользователям, посещающим мой сайт.
models.py:
class Movie(models.Model):
name = models.CharField(max_length=255)
genre = models.CharField(max_length=255)
date_of_release=models.CharField(max_length=255)
IMDb=models.CharField(max_length=250)
cast=models.TextField(max_length=500,null=True)
summary=models.TextField(max_length=500,null=True)
image=models.TextField(max_length=500,null=True)
def __str__(self):
return self.name
Я хочу, чтобы название фильма показывалось пользователям, и когда они нажимают на название, оно переводило их на другую страницу, содержащую всю информацию о фильме.
Есть идеи?
Ниже приведен пример.
urls.py:
from . import views
urlpatterns=[
path('movies/', views.movies, name='movies'),
path('movies/<int:id>/',views.single_movie, name='single_movie')
]
views.py:
from django.shortcuts import get_object_or_404
def movies(request):
items = Movie.objects.all()
return render(request, 'some_folder_name/movies.html', {'movies':items})
def single_movie(request,id):
one_movie=get_object_or_404(Movie, id=id)
return render(request,'some_folder_name/single_movie.html', {'movie':one_movie})
movies.html:
<body>
{% for movie in movies %}
<a href="{% url 'single_movie' movie.id %}"> Name : {{movie.name}} </a>
{% endfor %}
</body>
single_movie.html:
<body>
{% if movie %}
<h1>Information of {{movie.name}}</h1>
<p> genre: {{movie.genre}} </p>
<p> Date of release: {{movie.date_of_release}} </p>
<p> Cast: {{movie.cast}} </p>
{% endif %}
</body>
Аналогично, вы можете показать всю информацию о щелкнутом фильме на single.movie.html
странице.