URL не будет перенаправлен на подробный просмотр pk Django - PullRequest
0 голосов
/ 06 июня 2019

У меня есть простой проект и сделал проблемное исправление перенаправления.URL не перенаправляет на мой statistics_detail.html.всякий раз, когда я нажимаю, он просто добавляет pk на ссылку, но не перенаправляет

, вот мой url.py :

urlpatterns = [
    url('^$', views.index, name='index'),
    re_path(r'^(?P<pk>\d+)/$', views.StatisticsDetailView.as_view(), name='detail'),
    url('blist/', views.StatisticListView.as_view(), name='blist'),
    url('user_list', DisplayView.as_view(), name='user_list'),
    url('new_user', views.new_user, name='new_user'),
    url('push_user_tb', views.push_user_tb, name='push_user_tb'),
    url('push_user_prod', views.push_user_prod, name='push_user_prod'),
    url('st', views.display_stats_logs, name='st'),
    url('today', views.display_today, name='today'),
    url('balance', views.display_balance, name='balance'),
]

views.py

class StatisticsDetailView(DetailView):
    context_object_name = 'statistics_details'
    model = models.Statistics
    template_name = 'provision/statistics_detail

здесь также statistics_detail.html :

{% extends 'base.html' %}

{% block content %}
    <p>Statistics</p>

    <div class="container">
        <table class="table">
            <tr>
                <th>Name</th>
                <th>Mac ID</th>
                <th>Hours</th>
                <th>Date</th>
                <th>Status</th>
            </tr>
        {% for clients in object_list %}

            <tr>
                <td>{{ clients.name }}</td>
                <td>{{ clients.mac_add }}</td>
                <td>{{ clients.minutes_used|cut:".0" }}</td>
                <td>{{ clients.date }}</td>
                <td><a href="{{clients.id}}/">{{ clients.status }}</a></td>
            </tr>
        {% endfor %}
        </table>
        It is {% now "jS F Y H:i" %}
    </div>
{% endblock %}

Как вы можете видеть на скриншоте ниже.ничего не произойдет, если я нажму на client.status, который предположительно перенаправляется на statistics_detail.html

URL браузера: http://127.0.0.1:8000/prov/blist/ После щелчка по статусу добавляется только http://127.0.0.1:8000/prov/blist/2146/, но он не работает

enter image description here

Ответы [ 2 ]

4 голосов
/ 06 июня 2019
<a href="{% url 'detail' clients.id %}">
3 голосов
/ 06 июня 2019

Вам нужен начальный слеш: <a href="/{{clients.id}}/">

Еще лучше, используйте тег {% url %} вместо вывода URL-адреса вручную.

...