2016-06-28 2 views
0

형식 오류 : 음악 /에서형식 오류 장고

형식 오류/1/

세부 사항() 예기치 않은 키워드 인수 'PK'

있어

요청 방법 : GET 요청 URL : http://127.0.0.1:8000/music/1/ 예외 유형 : TypeError

: 0 세부 사항() 예기치 않은 키워드 인수 'PK'

이 내 음악 \의 view.detail 기능

def detail(request, album_id): 
    album = get_object_or_404(Album, pk=album_id) 
    return render(request, 'music/detail.html', {'album':album}) 

이며,이 오류를 올릴 수있는 내 detail.html의 형태를 가지고

<form action="{% url 'music:favorite' album.id %}" method="post"> 
    {% csrf_token %} 
    {% for song in album.song_set.all %} 
     <!-- forloop.counter indicates how many times the for tag has gone 
     through its loop --> 
     <input type="radio" id="song{{ forloop.counter }}" name="song" 
       value="{{ song.id }}"/> 
     <label for="song{{ forloop.counter }}"> 
      {{ song.song_title }} 
      {% if song.is_favorite %} 
       <img src="http://i.imgur.com/b9b13Rd.png" /> 
      {% endif %} 
     </label><br> 
    {% endfor %} 
    <input type="submit" value="Favorite"> 
    </form> 

그리고 이것은 내 urls.py

당신의 패턴에서
from django.conf.urls import url 
from . import views 

app_name = 'music' 
urlpatterns = [ 
    # /music/ 
    url(r'^$', views.index, name = 'index'), 

    # /music/<album_id>/ 
    url(r'^(?P<pk>[0-9]+)/$', views.detail, name = 'detail'), 

    # /music/<album_id>/favorite 
    url(r'^(?P<album_id>[0-9]+)/favorite/$', views.favorite, name =  
'favorite'), 
] 
+4

'urls.py' 파일이란 무엇입니까? –

+0

위에 추가했습니다. –

답변

1

이며, 매개 변수가,692라고 상세 뷰에 대한:

# /music/<album_id>/ 
url(r'^(?P<pk>[0-9]+)/$', views.detail, name = 'detail'), 
      ^^ - this is the name of the parameter that it is looking for 

그러나, 귀하의 상세보기 album_id있다 : 그 두 일치하지 않기 때문에 장고는 URL과 일치하는 방법을 찾을 수 없기 때문에

    vvvvvvvv - this is not matching pk 
def detail(request, album_id): 
    album = get_object_or_404(Album, pk=album_id) 
    return render(request, 'music/detail.html', {'album':album}) 

, 당신은 오류 무늬. 이를 수정하려면 패턴이 메소드 정의와 일치하는지 확인하십시오.