1

フォームをリバースで処理した後に変数を渡したいのですが、いろいろ試してみてもうまくいきません。これが私のコードです:

@login_required(login_url='/accounts/login/')
def pujar_track(request):
    if request.method=='POST':
        formulari = TrackForm(request.POST, request.FILES)
            if formulari.is_valid():                    
                track = formulari.save(commit=False)
                track.usuari = request.user
                track.save()

                url = reverse('acoplar_track', kwargs={'trac_id': track.id})
                return HttpResponseRedirect(url)

    else:
        formulari = TrackForm()

    return render(request,'principal/trackForm.html',
    {'formulari':formulari})


@login_required(login_url='/accounts/login/')
def acoplar_track(request, track_id):   
    track = get_object_or_404(Track, id=track_id)

    return render_to_response('principal/acoplarTrack.html',
        dict(track=track.nom),
        context_instance = RequestContext(request))

Url.py

url(r'^track/acoplar/(?P<track_id>\d+)/$',
    'principal.views.acoplar_track', name='acoplar_track'),

ありがとう!

4

2 に答える 2

3

あなたはtrack_idあなたのURLConfに持っています:

url(r'^track/acoplar/(?P<track_id>\d+)/$', 'principal.views.acoplar_track', name='acoplar_track'),

あなたのreverseステートメントではtrac_id、キーワード引数として使用しています。これを試して:

url = reverse('acoplar_track', kwargs={'track_id': track.id})
于 2013-03-14T19:10:19.383 に答える
1

試す:

url = reverse('acoplar_track', args=(), kwargs={'track_id': track.id})
于 2013-03-14T19:11:36.627 に答える