2017-12-09 1 views
0

장고 인증을 사용하고 있습니다. 사용자가 로그인 할 때마다 그를/profile/user_id로 리디렉션하고 user_id로 번호를 지정합니다. user_id 값을 request.user.profile.id까지 얻을 수 있습니다.Django : 매개 변수가있는보기로 리디렉션

url(r'^profile/$', views.index, name='index'), 
# ex: /profile/5/ 
url(r'^profile/(?P<user_id>[0-9]+)/$', views.profile, name='profile'), 

APP_1/views.py (나는 또한 주석 시도한 일) :

def index(request): 
userid = request.user.profile.id 
#return render(request, 'app_1/index.html', context) 
#return profile(request, request.user.profile.id) 
#return render(request, 'app_1/user_prof.html', {'user': request.user.profile.id}) 
#return redirect(profile, user_id= request.user.profile.id) 
return redirect('profile', user_id=userid) 


def profile(request, user_id): 
user = get_object_or_404(Profile, pk=user_id) 
return render(request, 'app_1/user_prof.html', {'user': user}) 

내가해야 settings.py에서 나는 LOGIN_REDIRECT_URL = 'app_1:index'

APP_1/urls.py를 이것이 쉬워야하기 때문에 뭔가 빠졌지 만 나는 그것에 붙어있다. 미리 감사드립니다.

편집 : 내가지고있어 오류가 Reverse for 'profile' not found. 'profile' is not a valid view function or pattern name.입니다 : http://dpaste.com/270YRJ9

답변

1

이 대신

from django.urls import reverse 

return redirect(reverse('profile', kwargs={"user_id": userid})) 

편집

를 사용해보십시오 무엇에 대해 : return redirect('app_1:profile', user_id=userid)

관련 문제