Отображение объектов на веб-странице в 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 странице.

Вернуться на верх