0

私は自分のアプリで、suerの詳細を取得できるフォームを作成しました。次に、フォームを編集できるフォームを作成します。

私のurls.py:

url(r'^home/editform/(?P<userpk>[^/]+)/$', 'lexuseditform', name='lexuseditform'),)

私のview.py:

@login_required                              
def lexuseditform(request,userpk):
    if int(userpk) != request.user.pk:
    return HttpResponseForbidden()
else:
    form = AdultForm()
    if request.method == 'POST': # If the form has been submitted...
        form = AdultForm(request.POST) # A form bound to the POST data
        if form.is_valid(): # All validation rules pass
          form.save()
          redirect_url = reverse('lexus/lexusedited.html')
          return HttpResponseRedirect(redirect_url) # Redirect after POST
    else:
       form = AdultForm() # An unbound form

return render('lexus/lexuseditform.html', {'form': form})

私のmodels.py:

class AdultForm(ModelForm):
    """
    Edit Profile Information
    """
    class Meta:
        model = Adult
        fields = ('user', 'email','fullname','created')

しかし、エラーメッセージが表示されます:No ReverseMatch:引数'()'およびキーワード引数'{}'が見つからない'lexuseditform'のリバース

このエラーを解決できないようです。助けが要る...

4

1 に答える 1

1

POST 処理では、パターンではなく URL 名を逆に渡す必要があります。したがって、そのURLに付けた名前を修正してください。

redirect_url = reverse('lexus/lexusedited.html') <----- Incorrect.

URL名が「lexuseedited」の場合

redirect_url = reverse('lexusedited')

ヒント: 直接行うことができます:

return HttpResponseRedirect(reverse('lexusedited'))
于 2012-07-05T04:30:15.963 に答える