Solucionado (ver solução)
Solucionado
(ver solução)
8
respostas

Erro de enconding. Como resolver?

SyntaxError at /
Non-ASCII character '\xc3' in file C:\Users\geova\Desktop\connectedin\usuarios\views.py on line 40, but no encoding declared; see http://python.org/dev/peps/pep-0263/ for details (views.py, line 40)

meu código:

from django.shortcuts import render, redirect
from django.contrib.auth.models import User
from django.views.generic.base import View
from perfis.models import Perfil
from usuarios.forms import RegistrarUsuarioForm

# Create your views here.

class RegistrarUsuarioView(View):
    template_name = 'registrar.html'

    def get(self, request):
        return render(request, self.template_name)

    def post(self, request):
        #preenche o form
        form = RegistrarUsuarioForm(request.POST)

        #verifica se eh valido
        if form.is_valid():
            dados_form = form.data

            #cria o usuario
            usuario = User.objects.create_user(dados_form['nome'], dados_form['email'], dados_form['senha'])

            #cria o perfil
            perfil = Perfil(nome=dados_form['nome'],
                            email=dados_form['email'],
                            telefone=dados_form['telefone'],
                            nome_empresa=dados_form['nome_empresa'],
                            usuario=usuario)

            #grava no banco
            perfil.save()

            #redireciona para index
            return redirect('index')

            #so chega aqui se nao for valido
            #vamos devolver o form para mostrar o formulário preenchido
            return render(request, self.template_name, {'form' : form})
8 respostas
solução!

é so colocar

# -*- coding: utf-8 -*-
from django.shortcuts import render, redirect
#resto do código
...

na primeira linha do teu arquivo

Nossa Vânia, obrigado mais uma vez! Mas agora, há um problema com o meu GET

DoesNotExist at /
Perfil matching query does not exist.
Request Method:    GET
Request URL:    http://localhost:8000/
Django Version:    1.7.4
Exception Type:    DoesNotExist
Exception Value:    
Perfil matching query does not exist.
Exception Location:    C:\Python27\lib\site-packages\django\db\models\query.py in get, line 357
Python Executable:    C:\Python27\python.exe
Python Version:    2.7.9
Python Path:    
['C:\\Users\\geova\\Desktop\\connectedin',
 'C:\\WINDOWS\\SYSTEM32\\python27.zip',
 'C:\\Python27\\DLLs',
 'C:\\Python27\\lib',
 'C:\\Python27\\lib\\plat-win',
 'C:\\Python27\\lib\\lib-tk',
 'C:\\Python27',
 'C:\\Python27\\lib\\site-packages']
Server time:    Tue, 31 Jan 2017 18:53:06 -0200
Perfil matching query does not exist.

Acho que você tá tentando acessar um perfil que não existe.Se voce tiver excluido o banco tem que criar um novo usuário porque seu código ta com o perfil de id = 1 padrão.

Ou também você pode ter algum erro no seu modelo.

Como assim criar um novo usuário? Eu exclui o banco porque era necessário, conforme a aula.

Agora você tem que ir no link de registrar e criar um novo usuário. No final dessa aula ele faz isso, cadastra um novo usuário.

Mas vou fazer isso pelo shell? Pq a aplicação não tá rodando no navegador por conta desse erro

Qual erro que aparece quando tu entra aqui?

Nenhum :)

Obrigado!