Tutorial do AfroPython
  • Sobre
  • Introdução
  • Codenvy
    • O que é o Codenvy
    • Crie uma conta
    • Complete o cadastro
    • Dashboard
  • Como funciona a internet?
  • Introdução a linha de comando
    • O que é a linha de comando?
    • Conhecendo a linha de comando
    • Seu primeiro comando (YAY!)
    • O básico
      • Pasta atual
      • Criando uma pasta
      • Listando arquivos e pastas
      • Entrando nas pastas
      • Exercite-se!
      • Limpando
      • Resumo
  • Editor de Código
    • Porque precisamos de um editor de código?
  • Introdução ao Python
    • Strings
    • Erros
    • Variáveis
    • A função print
    • Listas
    • Dicionários
    • Resumo até agora
    • Fazendo comparações
    • Booleanos
    • Salve o código!
      • if...elif...else
      • E se não?
      • Resumo
    • Suas próprias funções
    • Laços de repetição
    • Resumo
  • Django, o que é?
    • Por que você precisa de um framework?
    • O que acontece quando alguém solicita um site do seu servidor?
  • Seu primeiro projeto Django
    • Configurando
    • Instalando o banco de dados
  • Modelos do Django
    • Objetos
    • Modelo do Django
      • Criando uma aplicação
      • Criando um modelo
      • Criando tabelas
  • Administração
  • URLs
    • O que é uma URL?
    • Como funcionam as URLs no Django?
    • Sua primeira URL Django
    • blog.urls
  • Views
    • blog/views.py
  • Introdução a HTML
    • Seu primeiro template!
    • Head & Body
    • Customize seu template
  • QuerySet e ORM do Django
    • O que é um QuerySet?
    • O shell do Django
      • Todos os objetos
      • Criando um objeto
      • Adicionando objetos
      • Filtrar objetos
      • Ordenando objetos
  • Dados dinâmicos no template
    • QuerySet
  • Templates
    • O que são tags de template
    • Modelo de lista de post de exibição
  • CSS - Deixe mais bonito!
    • Vamos usar o Bootstrap!
    • Arquivos estáticos no Django
    • Seu primeiro arquivo CSS!
  • Estendendo templates
  • Amplie sua aplicação
  • Formulários
  • URLs e Views
  • Template
  • Salvando o formulário
  • Validação de formulários
  • Editando o formulário
  • Segurança
  • O que vem depois!
Powered by GitBook
On this page

Was this helpful?

Segurança

Ser capaz de criar novas postagens apenas clicando em um link é incrível! Mas agora, qualquer um que visitar nosso site será capaz de criar uma nova postagem no blog, e isso, provavelmente não é algo que você quer. Vamos fazer com que o botão apareça apenas para você e mais ninguém.

Em blog/templates/blog/base.html, encontre nossa div cabecalho-pagina e a tag <a> que você colocou lá anteriormente. Deve se parecer com isso:

blog/templates/blog/base.html

<a href="{% url 'post_new' %}" class="top-menu"><span class="glyphicon glyphicon-plus"></span></a>

Nós vamos adicionar outra tag `

aqui, que fará com que o link seja exibido apenas para usuários que estiverem "logados" como admin. Nesse momento, é apenas você! Altere a tag` para algo como:

blog/templates/blog/base.html

{% if user.is_authenticated %}
    <a href="{% url 'post_new' %}" class="top-menu"><span class="glyphicon glyphicon-plus"></span></a>
{% endif %}

Esse `

` fará com que o link seja enviado para o browser apenas se o usuário que requisitar a página estiver "logado". Isso não protege a criação de novas postagens completamente, mas é um bom primeiro passo.

Lembra do ícone de edição que nós acabamos de adicionar a nossa página de detalhes? Nós também queremos adicionar a mesma alteração lá, para que outras pessoas não sejam capazes de editar postagens existentes.

Abra blog/templates/blog/post_detail.html e encontre essa linha:

blog/templates/blog/post_detail.html

<a class="btn btn-default" href="{% url 'post_edit' pk=post.pk %}"><span class="glyphicon glyphicon-pencil"></span></a>

Altere ela para isso:

blog/templates/blog/post_detail.html

{% if user.is_authenticated %}
     <a class="btn btn-default" href="{% url 'post_edit' pk=post.pk %}"><span class="glyphicon glyphicon-pencil"></span></a>
{% endif %}

Como você deve estar "logado(a)", se você atualizar a página, não verá nada de diferente. Carregue a página em um navegador diferente ou em uma janela anônima, e então, veja que o link não é exibido, assim como o ícone também não é!

PreviousEditando o formulárioNextO que vem depois!

Last updated 6 years ago

Was this helpful?