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

Aula 10 ~ 2 problemas

1 - Problema. 
Neste primeiro problema, segundo a aula que ensina neste código grifado abaixo. linha 3, e segundo a resposta de erro do navegador logo abaixo, informa que o erro está nas chaves ou seja se no meu editor "pycharm" usar colchetes '[ ] , a pagina carrega ou se ainda afastar uma das chaves para o lado., como informo baixo

<form class="form-signin" action="{% url 'registrar' %}" method="post"> assim dá erro. 

<form class="form-signin" action="[% url 'registrar' %]" method="post"> assim não dá erro.

<form class="form-signin" action="{ % url 'registrar' %}" method="post">
assim não dá erro., espaço na primeira ou segunda chave.
---------------------------------------------------------------------------------------------

{% extends "base_usuario.html" %}

{% block body %}

linha 3    <form class="form-signin" action="{% url 'registrar' %}" method="post">
        <h2 class="form-signin-heading">Crie seu usuário</h2>

        <input id="id_email" name="email" type="text"
        class="form-control" placeholder="Email *" required>

         <input id="id_nome" name="nome" type="text"
        class="form-control" placeholder="Nome *" required>

         <input id="id_senha" name="senha" type="password"
        class="form-control" placeholder="Senha *" required>

         <input id="id_telefone" name="telefone" type="text"
        class="form-control" placeholder="Telefone">

         <input id="id_nome_empresa" name="nome_empresa" type="text"
        class="form-control" placeholder="Empresa">

        <hr/>

        <button class="btn btn-lg btn-primary btn-block" type="submit">Registrar</button>


    </form>
{% endblock %}

---------------------------------------------------------------------------------------------

NoReverseMatch at /registrar/

Reverse for 'registrar' with arguments '()' and keyword arguments '{}' not found. 0 pattern(s) tried: []

Request Method:     GET
Request URL:     http://localhost:8000/registrar/
Django Version:     1.7.4
Exception Type:     NoReverseMatch
Exception Value:     

Reverse for 'registrar' with arguments '()' and keyword arguments '{}' not found. 0 pattern(s) tried: []

Exception Location:     /usr/local/lib/python2.7/dist-packages/django/core/urlresolvers.py in _reverse_with_prefix, line 468
Python Executable:     /usr/bin/python
Python Version:     2.7.15
Python Path:     

['/home/luis/Projects/Django/Alura/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',
 '/usr/local/lib/python2.7/dist-packages',
 '/usr/lib/python2.7/dist-packages']

Server time:     Wed, 29 Aug 2018 18:12:26 +0000
Error during template rendering

In template /home/luis/Projects/Django/Alura/connectedin/usuarios/templates/registrar.html, error at line 5
Reverse for 'registrar' with arguments '()' and keyword arguments '{}' not found. 0 pattern(s) tried: []
1     {% extends "base_usuario.html" %}
2     
3     {% block body %}
4     
5         <form class="form-signin" action="{% url 'registrar' %}" method="post">
6             <h2 class="form-signin-heading">Crie seu usuário</h2>
7     
8             <input id="id_email" name="email" type="text"
9             class="form-control" placeholder="Email *" required>
10     
11              <input id="id_nome" name="nome" type="text"
12             class="form-control" placeholder="Nome *" required>
13     
14              <input id="id_senha" name="senha" type="password"
15             class="form-control" placeholder="Senha *" required>

2 - problema. 
Após resolver este problema, o de cima , imaginando que se consigo carregar e preencher a pagina., imagino que está certo? bem, ao preencher e apertar o botão "Registrar" aparece este erro que não consegui resolver. lembrando que este erro não é o mesmo que aparece logo em seguida no final da aula , ou seja o erro do CSRF token , erro 403. fico no aguardo da ajuda , desde já agradeço!



Page not found (404)
Request Method:     POST
Request URL:     http://localhost:8000/registrar/%7B%20%%20url%20'registrar'%20%%7D

Using the URLconf defined in connectedin.urls, Django tried these URL patterns, in this order:

    ^admin/
    ^ ^$ [name='index']
    ^ ^perfis/(?P<perfil_id>\d+)$ [name='exibir']
    ^ ^perfis/(?P<perfil_id>\d+)/convidar$ [name='convidar']
    ^ ^convite/(?P<convite_id>\d+)/aceitar$ [name='aceitar']
    ^ ^registrar/$ [name='registar']

The current URL, registrar/{ % url 'registrar' %}, 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.
1 resposta
solução!

Luis, o que acontece é que deixar action="{ % url 'registrar' %}" lá no form não dá aquele erro, mas também não dá certo. Você está tentando acessar a página com a URL registrar/{ % url 'registrar' %}, o que não tem nada a ver.

O jeito certo de usar esse template method é daquela primeira forma, mesmo:

action="{% url 'registrar' %}"

O erro que estava dando era por causa de um erro de digitação lá no urls.py:

^registrar/$ [name='registar']

Você setou o name como 'registar' em vez de 'registrar'. Corrigindo isso deve ficar tudo certo!