Как вызвать urls.py для получения значения из al oop в Django - PullRequest
0 голосов
/ 05 мая 2020

На моей индексной странице у меня есть галерея изображений. Когда кто-то нажимает на изображение, оно должно показать больше информации с большим количеством фотографий на другой странице. Все загружаются из базы данных MySQL с использованием for l oop. Я не могу получить подробную информацию об изображении, по которому щелкнули мышью, из своей базы данных. Он загружает все данные

Эта страница работает как новостной веб-сайт - все новости загружаются с al oop. если кто-то нажимает на новость, она должна отображать только информацию о выбранном элементе.

Ниже моя страница index.html, а также мои urls.py и views.py исходный код.

I Я использую Python, Django с MySQL; все последние версии.

Домашняя страница , исходный код моей галереи изображений

{% for x in destination %}
<!-- Destination -->
<a href="destination" id="{{x.id}}"><div class="destination item" >
    <div class="destination_image">
        <img src="{{x.img.url}}" alt="">
        {% if x.offer %}
        <div class="spec_offer text-center"><a >Special Offer</a></div>
        {% endif %}
    </div>
    <div class="destination_content">
        <div class="destination_title"><a href="">{{x.name}}</a></div>
        <div class="destination_subtitle"><p>{{x.short_description}}</p></div>
        <div class="destination_price">From ${{x.price}}</div>
    </div>
</div></a>

{% endfor %}
from . import views
from django.urls import path

urlpatterns = [
    path('destination', views.destination, name='destination'),
    path('', views.index, name='index')
]
from django.shortcuts import render
from .models import Destination


def destination(request):
    dest = Destination
    return render(request, 'destination.html', {'sub_destination': dest})

1 Ответ

0 голосов
/ 05 мая 2020

Вы можете использовать Обратное разрешение URL . просто добавьте еще один шаблон URL-адреса в свой urls.py:

urlpatterns = [
    path('destination/<int:dest>/', views.destination_content, name='destination_content'),
    # ...
]

и используйте его внутри своего for l oop в шаблоне следующим образом:

    <div class="destination_content">
        <div class="destination_title"><a href="{% url 'destination_content' x.id %}">{{x.name}}</a></div>
        ...
    </div>

ПРИМЕЧАНИЕ : вы должны определить функцию destination_content в своем views.py

...