Template
Precisamos criar um arquivo post_edit.html na pasta blog/templates/blog. Pra fazer o formulário funcionar precisamos de muitas coisas:
Temos que exibir o formulário. Podemos fazer isso com (por exemplo) um simplesmente {% raw %}
{{ form.as_p }}{% endraw %}.A linha acima precisa estar entre as tags HTML form:
<form method="POST">...</form>Precisamos de um botão
Salvar. Fazemos isso com um botão HTML:<button type="submit">Save</button>E finalmente, depois de abrir a tag
<form ...>precisamos adicionar um {% raw %}{% csrf_token %}{% endraw %}. Isso é muito importante, pois faz com que nosso formulário seja seguro! O Django vai reclamar se você esquecer de adicionar isso e tentar salvar o formulário.
Beleza, então vamos ver como ficou o HTML post_edit.html:
blog/templates/blog/post_edit.html
{% extends 'blog/base.html' %}
{% block content %}
<h1>New post</h1>
<form method="POST" class="post-form">{% csrf_token %}
{{ form.as_p }}
<button type="submit" class="save btn btn-default">Save</button>
</form>
{% endblock %}Hora de atualizar! Há! Seu formulário apareceu!

Mas, espere um minuto! Quando você digita alguma coisa nos campos title e text e tenta salvar, o que acontece?
Nada! Estamos novamente na mesma página e nosso texto sumiu... E nenhum post foi adicionado. Então o que deu errado?
A resposta é: nada. Precisamos trabalhar um pouco mais na nossa view.
Last updated
Was this helpful?