NoReverseMatchType: обратный для «индекса» не найден. 'index' не является допустимой функцией просмотра или именем шаблона - PullRequest
0 голосов
/ 20 июня 2020

Файл My shop / views.py - файл приложения

из django .shortcuts import render, get_object_or_404

from django .http import HttpResponse, HttpResponseRedirect

из django .template import loader

from django .http import Http404

from .models import Album

from django .urls import reverse

Создайте здесь свои просмотры.

def index (request): all_albums = Album.objects.all ()

context = {'all_albums': all_albums}

14 return render (request, 'shop / index. html ', context)

return HttpResponseRedirect (reverse ("shop: index", args = (album.id,)))

# return HttpResponseRedirect (request, reverse ("shop : index ", args = (album_id)), context)

def detail (request, album_id):

album = get_object_or_404(Album, id=album_id)

return render(request, 'shop/detail.html', {'album':album})

def избранное (request, album_id):

album = get_object_or_404(Album, id=album_id)

try:
    selected_song = album.song_set.get(id=request.POST['song'])

except (KeyError, Song.DoesNotExist):

    return render(request, 'shop/detail.html', {             'album':album,

    'error_message':"you did not select a valid song"})

else:
    selected_song.is_favourite = True

    selected_song.save()

    return HttpResponseRedirect(reverse("shop:index", args=(album.id,)))

Теперь мой файл shop / URLs.py

из django .urls путь импорта

из. импорт просмотров

app_name = 'shop'

urlpatterns = [path ('', views.index, name = "ShopHome"),

path("<int:album_id>/", views.detail, name='detail'), 

path("shop/<int:album_id>/favourite", views.favourite, name='favourite'),

]

Теперь мой файл Mac / URLs.py - файл проекта

из django .contrib import admin

из django путь импорта .urls, включая

urlpatterns = [путь ('admin /', admin.site.urls),

path('shop/', include('shop.urls')),

]

Теперь мой магазин / templates / shop / index. HTML файл

{% нагрузки c%}

   <div class="navbar-header">

       <a class="navbar-brand" href="{% url 'shop:index' album_id %}">Viberr</a>

   <div/>

Вот все мои альбомы:

{% for album in all_albums %}

<li><a href="{% url 'shop:detail' album.id %}">{{ album.album_title }}</a></li>

{% endfor %}

Ошибка находится в строке 14 в соответствии с ошибкой на локальном хосте: 8000

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