2012-07-05 2 views
0

Я создал форму в своем приложении, где я могу взять подробную информацию о судье. Теперь я хочу создать форму, которая позволяет мне редактировать форму.Редактирование формы в Django

Мой 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') 

Но я получаю сообщение об ошибке Сообщ: Нет ReverseMatch: Reverse для 'lexuseditform' с аргументами '()' и аргументами ключевого слова '{}' не найдено

Невозможно решить эту проблему. Нужна помощь ...

ответ

1

У вас обработка POST, обратное должно быть передано имя URL, а не шаблон. Поэтому исправьте это имя, которое вы указали на этот URL.

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

Если URLNAME является 'lexusedited'

redirect_url = reverse('lexusedited') 

Подсказка: вы можете сразу сделать:

return HttpResponseRedirect(reverse('lexusedited')) 
Смежные вопросы