no finalzinho do video foi trocado uma linha de código duplicada que joga para a index, no lugar foi colocado um redirect. tentei colocar também mas recebi um erro:
NoReverseMatch at /perfis/3/convidar
Reverse for 'index' with arguments '()' and keyword arguments '{}' not found. 0 pattern(s) tried: []
Request Method: GET
Request URL: http://localhost:8000/perfis/3/convidar
Django Version: 1.7.4
Exception Type: NoReverseMatch
Exception Value:
Reverse for 'index' with arguments '()' and keyword arguments '{}' not found. 0 pattern(s) tried: []
Exception Location: /home/alvaro/.local/lib/python2.7/site-packages/django/core/urlresolvers.py in _reverse_with_prefix, line 468
Python Executable: /usr/bin/python
Python Version: 2.7.12
Python Path:
['/home/alvaro/Documents/alura/Django Project/connectedin',
'/usr/lib/python2.7',
'/usr/lib/python2.7/plat-x86_64-linux-gnu',
'/usr/lib/python2.7/lib-tk',
'/usr/lib/python2.7/lib-old',
'/usr/lib/python2.7/lib-dynload',
'/home/alvaro/.local/lib/python2.7/site-packages',
'/usr/local/lib/python2.7/dist-packages',
'/usr/lib/python2.7/dist-packages',
'/usr/lib/python2.7/dist-packages/PILcompat',
'/usr/lib/python2.7/dist-packages/gtk-2.0',
'/usr/lib/python2.7/dist-packages/ubuntu-sso-client',
'/usr/lib/python2.7/dist-packages/wx-3.0-gtk2']
Server time: Sat, 19 Nov 2016 00:33:12 +0000
mas esta rodando tudo normal, apenas esse redirect que travou. Meu arquivo views.py esta exatamente assim:
from django.shortcuts import render, redirect
from perfis.models import Perfil
def index(request):
return render(request, 'index.html', {'perfis' : Perfil.objects.all()})
def perfis(request, perfil_id):
print 'ID do perfil e %s' % (perfil_id)
perfil = Perfil.objects.get(id=perfil_id)
print 'Nome e %s' %(perfil.nome)
return render(request, 'perfis.html', {'perfil' : perfil})
def convidar(request, perfil_id,):
perfil_a_convidar = Perfil.objects.get(id=perfil_id)
perfil_logado = get_perfil_logado(request)
perfil_logado.convida(perfil_a_convidar)
return redirect('index')
def get_perfil_logado(request):
return Perfil.objects.get(id=1)
eu n entendi porque usar o redirect, talvez mais para frente faça sentido, mas consegui continuar o código executando da mesma forma, apenas mudando esta linh chamando a função index desta maneira:
return index(request)
como esta no mesmo arquivo funcionou normalmente. Qual foi o problema com o Redirect? e, chamando a função diretamente da forma que fiz pode dar algum problema?