Как исправить NoReverseMatch? Реверс для «Порумбэй» не найден. «porumbei» не является допустимой функцией просмотра или именем шаблона - PullRequest
0 голосов
/ 15 марта 2020

Я пытаюсь отредактировать некоторые объекты в django, но когда я получаю доступ к представлению для редактирования, он говорит, что обратное не найдено. Я прочитал почти все статьи о noreversematch, но ни один не ответил на мой вопрос. Я новичок в django и, возможно, в этом может быть причина. Может кто-нибудь помочь мне исправить это? Спасибо! Мой код ниже.

Мой взгляд:

@login_required(login_url='/auth/login/')
def editareporumbei(request, pk):
    """ Pagina editare informatii porumbel """
    global semi_frati
    sts = StatusPorumbei.objects.all()
    porumbel = get_object_or_404(Porumbei, pk=pk)
    if porumbel.crescator != request.user:
        raise PermissionDenied()

    descendenti = Perechi.objects.filter(Q(mascul=porumbel) | Q(femela=porumbel))
    if porumbel.tata and porumbel.mama:
        frati = Porumbei.objects.filter(Q(Q(tata=porumbel.tata)) &
                                        Q(Q(mama=porumbel.mama))).exclude(serie_inel=porumbel)
        rude_tata = Porumbei.objects.filter(Q(Q(tata=porumbel.tata)) & ~Q(Q(mama=porumbel.mama)))
        rude_mama = Porumbei.objects.filter(~Q(Q(tata=porumbel.tata)) & Q(Q(mama=porumbel.mama)))
        vitregi = rude_tata | rude_mama
        semi_frati = vitregi.distinct()
    else:
        frati = None
        semi_frati = None

    try:
        rating_porumbel = Rating.objects.get(porumbel=porumbel)
    except Rating.DoesNotExist:
        rating_porumbel = None

    if request.method == "POST":
        form = AdaugaPorumbel(request.POST, request.FILES, instance=porumbel)
        if form.is_valid():
            obj = form.save(commit=False)
            obj.crescator = request.user
            obj.save()
        return redirect('/porumbei/vizualizare')
    else:
        form = AdaugaPorumbel(instance=porumbel)

    context = {
        'form': form,
        'porumbel': porumbel,
        'descendenti': descendenti,
        'rating_porumbel': rating_porumbel,
        'sts': sts,
        'frati': frati,
        'semi_frati': semi_frati,
    }
    template = loader.get_template("editare-porumbei.html")
    return HttpResponse(template.render(context, request))

Мои URL:

urlpatterns = [
    path('porumbei/vizualizare/', porumbei.views.viewpigeons, name='allpigeons'),
    path('porumbei/adaugare/', porumbei.views.porumbelnou, name="porumbelnou"),  
    path('porumbei/editare/<int:pk>/', porumbei.views.editareporumbei, name='editareporumbei'),
]

Шаблон:

<a href="{% url 'editareporumbei' item.id_porumbel %}" class="btn btn-sm btn-icon btn-secondary"><i class="fa fa-pencil-alt"></i> <span class="sr-only">Editare</span></a>

Идентификатор_порумбеля является основным ключ от стола Порумбей.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...