Solucionado (ver solução)
Solucionado
(ver solução)
1
resposta

Selecionando perfis de uma lista

Quando coloquei a URL com parametro, passou a dar erro na página, quando "clico" no link, para acessar o perfil. O que estou fazendo de errado ??

Bem-vindo ao ConnectedIn

Oswaldo Alterado / oswaldo@oswaldo.com.br Steve / steve@minecraft.com Flavio Almeida / flavio@flavio.com.br Romulo Henrique / romulo@romulo.com.br

Page not found (404) Request Method: GET Request URL: http://localhost:8000/%7B%%20url%20'exibir'%20perfil.id%7D Using the URLconf defined in connectedin.urls, Django tried these URL patterns, in this order: ^admin/ ^ ^$ [name='index'] ^ ^perfis/(?P\d+)$ [name='exibir'] The current URL, {% url 'exibir' perfil.id}, didn't match any of these. You're seeing this error because you have DEBUG = True in your Django settings file. Change that to False, and Django will display a standard 404 page.

arquivo: index.html
<!DOCTYPE html>
<html lang="pt-br">
    <head>
        <meta charset="UTF-8">
        <title>
            ConnectedIn
        </title>
    </head>
    <body>
          <h1>
              Bem-vindo ao ConnectedIn
          </h1>
          {% if perfis %}
            <ul>
                {% for perfil in perfis %}
                <li> 
                    <a href="{% url 'exibir' perfil.id}">
                    {{perfil.nome}} 
                    </a> / 
                    {{perfil.email}}
                </li>
                {% endfor %}
            </ul>
          {% else %}
            <p>
              Nenhum perfil encontrado
            </p>
          {% endif %}
    </body>
</html>

--
arquivo perfil.html
<!DOCTYPE html>
<html lang="pt-br">
    <head>
        <meta charset="UTF-8">
        <title>
            ConectedIn
        </title>
    </head>
    <body>
          <h1>
              Detalhe Perfil
          </h1>
              nome: {{perfil.nome}}, 
              email: {{perfil.email}}, 
              telefone: {{perfil.telefone}}, 
              empresa: {{perfil.nome_empresa}}

    </body>
</html>

arquivo urls.py do diretório connectedin
from django.conf.urls import patterns, include, url
from django.contrib import admin

urlpatterns = patterns('',
                       url(r'^admin/', include(admin.site.urls)),
                       url(r'^', include('perfis.urls'))

)
--
arquivo perfil.html do diretõrio perfis
from django.conf.urls import patterns, include, url
from django.contrib import admin

urlpatterns = patterns('',
                       url(r'^$', 'perfis.views.index', name='index'),
                       url(r'^perfis/(?P<perfil_id>\d+)$', 'perfis.views.exibir', name='exibir')
)
1 resposta
solução!

Oi Luis. Você fez assim

<a href="{% url 'exibir' perfil.id}"

O correto é

<a href="{% url 'exibir' perfil.id %}"

Veja que faltou um % no final da chave.

Quer mergulhar em tecnologia e aprendizagem?

Receba a newsletter que o nosso CEO escreve pessoalmente, com insights do mercado de trabalho, ciência e desenvolvimento de software