2015-10-09 3 views
0

По какой-то причине Перенаправление считает мой призыв к виду «clients.views.teacher_profile» является URL, поместив его непосредственно в адресной строке, как показано ниже:Джанго Перенаправление лечения зрения как URL

Page Not Found Screenshot

Как связать его с представлением и не рассматривать его как URL-адрес?

Примечание: Я изменил некоторые настройки, чтобы разместить django-allauth.

Мой код:

#views.py 
def teacher_profile(request, username): 
    user = get_object_or_404(User, username=username) 
    context = { 
     'user':user, 
     'teacher':user.teacher, 
    } 
    return render(request, 'clients/teacher_profile.html', context) 

def edit_profile(request): 
    teacher = get_object_or_404(Teacher, user=request.user) 
    if request.method == 'POST': 
     form = TeacherForm(request.POST, instance=teacher) 
     if form.is_valid(): 
      teacher = form.save(commit=False) 
      teacher.user = request.user 
      teacher.save() 
      return redirect('clients.views.teacher_profile', username=request.user.username) 
    else: 
     form = TeacherForm(instance=teacher) 
    return render(request, 'clients/edit_profile.html', {'form':form}) 

#urls.py 
urlpatterns = [ 
    url(r'^list/$', views.teacher_list, name='teacher_list'), 
    url(r'^(?P<username>[\[email protected]+-]+)/$', views.teacher_profile, name='teacher_profile'), 
    url(r'^accounts/settings/$', views.edit_profile, name='edit_profile'), 
] 

ответ

3

Не используйте модуль путь мнение, в вызове перенаправления; используйте имя, которое вы явно указали в шаблоне url.

return redirect('teacher_profile', username=request.user.username) 
+0

Благодарим за отзыв! Я сделал так, как вам было рекомендовано, но произошла следующая ошибка: NoReverseMatch at/accounts/settings/ Обратный для 'teacher_profile' с аргументами '()' и ключевыми аргументами '{' username ':' test6 '}' не найден. 0 pattern (s) try: [] – user2853084

+0

Вы включаете это urls.py в пространство имен из основного? –

+0

Да, я попробовал поставить «клиентов: teacher_profile», и теперь это работает! Не могу поверить, что я пропустил это, все еще новичок, понимаете. Большое спасибо Даниилу! – user2853084

Смежные вопросы