首页 > 解决方案 > 我无法在 /events/ 错误处解决 NoReverseMatch

问题描述

添加状态为 false 的事件时出现此错误。状态为 true 时没有问题:NoReverseMatch at /events/ Reverse for 'event-detail' with arguments '('',)' not found。尝试了 1 种模式:['events/(?P<url_sistem>[^/]+)/$']

我看不到错误的原因

这是我的 views.py 文件:

from django.shortcuts import render, get_object_or_404
from .models import Event

def event_list(request):
    events_f = Event.objects.filter(status=False)
    events_t = Event.objects.filter(status=True)
    return render(request, 'etkinlik/event_list.html', {'events_f':events_f , 'events_t':events_t})

def event_detail(request, url_sistem):
    event = get_object_or_404(Event, url_sistem=url_sistem)

return render(request, 'etkinlik/event_detail.html',{'event':event})

这是 urls.py:

urlpatterns = [
path('', views.event_list, name='event_list'),
path('<str:url_sistem>/', views.event_detail, name='event-detail')
]

而这个模板文件:

{% extends 'base.html' %}
    {%block title%}Events | {%endblock%}
{% block content %}

<div class="container mt-4">
    <div class="jumbotron">
        <h4 class="display-4">Öne Çıkarılan Etkinlik</h4>
        <p class="lead mb-5">Bu etkinlik şuandaki en önemli ve popüler etkinliktir. Katılabilen herkesin katılmasını isteriz</p>
        {% if not events_t %}
            <h2>Şu anda öne çıkarılan yok</h2>
        {% else %}
        {% for event_t in events_t %}
        <a href="{% url 'event-detail' event_t.url_sistem %}" style="color:black;">
            <div class="card mb-3" style="max-width:700px;">
                <div class="row no-gutters">
                    <div class="col-md-4">
                        <img src="/media/{{ event_t.img_event }}" class="card-img" alt="etkinlik_foto">
                    </div>
                    <div class="col-md-8">
                        <div class="card-body">
                            <h5 class="card-title">{{event_t.title}}</h5>
                            <p class="card-text">{{event_t.exp}}</p>
                            <p class="card-text"><small class="text-muted">Etkinlik Tarihi: {{event_t.event_date}}</small></p>
                        </div>
                    </div>
                </div>
            </div>
        </a>
        {% endfor %}
        {% endif %}

    </div>

    {% for event_f in events_f %}
    <a href="{% url 'event-detail' event_t.url_sistem %}" style="color:black;">
        <div class="card mb-3" style="max-width:700px;">
            <div class="row no-gutters">
                <div class="col-md-4">
                    <img src="/media/{{ event_f.img_event }}" class="card-img" alt="etkinlik_foto">
                </div>
                <div class="col-md-8">
                    <div class="card-body">
                        <h5 class="card-title">{{event_f.title}}</h5>
                        <p class="card-text">{{event_f.exp}}</p>
                        <p class="card-text"><small class="text-muted">Etkinlik Tarihi: {{event_f.event_date}}</small></p>
                    </div>
                </div>
            </div>
        </div>
    </a>
    {% endfor %}
</div>
{% endblock %}

提前致谢

标签: djangodjango-viewsdjango-templates

解决方案


<a href="{% url 'event-detail' event_t.url_sistem %}" style="color:black;">

在您需要替换的网址event_t.url_sistemevent_f.url_sistem


推荐阅读