1
resposta

Ao executar o comando python manage.py runserver

Obtenho a mensagem de erro abaixo ("GET /registrar/ HTTP/1.1" 405 0):

Mais detalhes:

    (venv1) C:\Users\enigma\PycharmProjects\website\website>python         manage.py runserver
        Performing system checks...

    System check identified no issues (0 silenced).
    July 14, 2018 - 20:27:30
    Django version 1.7.4, using settings 'website.settings'
    Starting development server at http://127.0.0.1:8000/
    Quit the server with CTRL-BREAK.
    [14/Jul/2018 20:27:33] "GET / HTTP/1.1" 403 22
    [14/Jul/2018 20:27:33] "GET /favicon.ico HTTP/1.1" 404 3222
    Performing system checks...

    System check identified no issues (0 silenced).
    July 14, 2018 - 20:28:23
    Django version 1.7.4, using settings 'website.settings'
    Starting development server at http://127.0.0.1:8000/
    Quit the server with CTRL-BREAK.
    [14/Jul/2018 20:29:30] "GET / HTTP/1.1" 302 0
    [14/Jul/2018 20:29:30] "GET /login/?next=/ HTTP/1.1" 200 1091
    [14/Jul/2018 20:29:32] "GET /registrar/ HTTP/1.1" 405 0

perfis\views.py

    from django.shortcuts import render, redirect
    from perfis.models import Perfil, Convite
    from django.contrib.auth.decorators import permission_required
    from django.contrib.auth.decorators import login_required


    # Create your views here.
    @login_required
    def index(request):
        perfil = Perfil()

        return render(request, 'index.html', {'perfis' : Perfil.objects.all(),     'perfil_logado' : 'ja_eh_contato'})

    @login_required
    def exibir(request, perfil_id):

        print ('ID do perfil recebido..:{}'.format(perfil_id))
        perfil = Perfil()

        if perfil_id == '1':
            perfil = Perfil(nome='Veronica', email='vottonetti@gmail.com',     telefone='(35)9955-2425', nome_empresa='Prefeitura')

        if perfil_id == '2':
            perfil = Perfil(nome='Leonardo', email='leonardo@gmail.com',     telefone='(35)9955-2425', nome_empresa='Cefetmg')


        perfil = Perfil.objects.get(id=perfil_id)
        perfil_logado = get_perfil_logado(request)
        ja_eh_contato = perfil in perfil_logado.contatos.all()
        #perfil = Perfil.objects.get(id=perfil_id)

        return render(request, 'perfil.html', {"perfil" : perfil, 'ja_eh_contato' :          ja_eh_contato })

    @permission_required('perfis.add_convite', raise_exception=True)
    @login_required
    def convidar(request, perfil_id):
        #print ('ID do perfil a ser convidado..:{}'.format(perfil_id))
        perfil_a_convidar = Perfil.objects.get(id=perfil_id)
        perfil_logado = get_perfil_logado(request)
        #perfil_logado = Perfil.objects.get(id=perfil_id)
        perfil_logado.convidar(perfil_a_convidar)
        #return render(request, 'index.html', {"perfis" : Perfil.objects.all()})
        return redirect('index')

    @login_required
    def aceitar(self, convite_id):
        convite = Convite.objects.get(id=convite_id)
        convite.aceitar()
        return redirect('index')

    @login_required
    def get_perfil_logado(request):
        return request.user.perfil
1 resposta

Olá franciscarlospereira, tudo certo? Poste aqui, por favor, o conteúdo dos seus arquivos usuarios/urls.py e usuarios/views.py para ficar mais fácil analisar o erro.

O status 405 é uma status do http para method not allowed - e sua aplicação não aceitou fazer um GET para /registrar (provavelmente está de modo que só aceita requisições POST).