Bem vindo a documentação do django-faleconosco!¶
Nessa documentação, você vai aprender a usar a intalar e usar a aplicação para o seu Fale Conosco
do seu
site, portal, etc.
Contents:
Introdução¶
O django-faleconosco foi desenvolvido para os desenvolvedores Django que sempre precisa de implementar um formulário nos
sites, portais e blogs, sendo chamado de Fale Conosco
.
Nada mais é do que um formulário com alguns campos que são necessários para enviar um email ao responsável pelo mesmo. Os campos normalmente usados são:
- Nome;
- E-mail;
- Assunto;
- Mensagem.
Com isso, já é o suficiente para enviar informações necessárias para receptor da mensagem.
Instalação¶
Vamos fazer a instalação da aplicação no seu projeto. Para isso será preciso fazer o checkout da aplicação:
$ git clone https://github.com/gilsondev/django-faleconosco contato
Com isso você irá fazer o download da aplicação com o nome de contato.
Configuração¶
Após efetuar a instalação, vamos configurá-lo ao nosso projeto. Para isso, abra o arquivo settings.py
e o adicione no INSTALLED_APPS
:
INSTALLED_APPS = (
'contato',
)
Não esquecendo que para enviar e-mails com Django, é necessário definir o servidor SMTP. Abaixo está conforme deve ser configurado, substituindo os valores do exemplo abaixo, com as informações pertinentes ao envio das mensagens:
DEFAULT_FROM_EMAIL = 'contato@gilsondev.com'
EMAIL_HOST = 'smtp.gmail.com'
EMAIL_PORT = 587
EMAIL_HOST_USER = 'contato@gilsondev.com'
EMAIL_HOST_PASSWORD = 'senha123456'
EMAIL_USE_TLS = True # Necessário para emails do tipo Gmail
Não é obrigatório, mas caso queira definir um prefixo no assunto das mensagens, faça conforme o exemplo abaixo:
EMAIL_SUBJECT_PREFIX = u'[Nome do Seu Site]'
Agora vamos mapear as URLs da aplicação no arquivo urls.py
:
urlpatterns = patterns('',
# Examples:
# url(r'^$', 'example.views.home', name='home'),
# url(r'^example/', include('example.foo.urls')),
# Uncomment the admin/doc line below to enable admin documentation:
# url(r'^admin/doc/', include('django.contrib.admindocs.urls')),
# Uncomment the next line to enable the admin:
# url(r'^admin/', include(admin.site.urls)),
url(r'', include('contato.urls')),
)
Templates Usados¶
A aplicação usa templates para gerar o formulário de contato, como também a mensagem de sucesso.
Elas devem estar instaladas na pasta templates/contato
do projeto, ou dentro da aplicação. Os templates usados são:
Template contato_form.html¶
Esse template é usado para definir e gerar o formulário de contato do seu site. A partir dela que vai estar os seguintes campos:
- Nome;
- E-mail;
- Assunto;
- Mensagem.
Abaixo está o exemplo do formulário:
{% extends "base.html" %}
{% block corpo %}
<div class="sixteen columns">
<h3>Contato</h3>
<p>
Diga o que deseja aqui em baixo, que iremos ler com toda a atenção necessária.
</p>
<div class="sixteen columns">
<form action="" method="post">
{% csrf_token %}
<fieldset>
<label for="id_nome">
{{ form.nome.label }} {{ form.nome }}
<div class="erro">{{ form.nome.errors }}</div>
</label>
<label for="id_email">
{{ form.email.label }} {{ form.email }}
<div class="erro">{{ form.email.errors }}</div>
</label>
<label for="id_assunto">
{{ form.assunto.label }} {{ form.assunto }}
<div class="erro">{{ form.assunto.errors }}</div>
</label>
<label for="id_mensagem">
{{ form.mensagem.label }} {{ form.mensagem }}
<div class="erro">{{ form.mensagem.errors }}</div>
</label>
</fieldset>
<input type="submit" value="Enviar" class="button">
</form>
</div>
</div>
{% endblock corpo %}
Template contato_success.html¶
Esse template nada mais é do que uma página que contém a mensagem de que o email foi enviado com sucesso:
{% extends "base.html" %}
{% block corpo %}
<div class="sixteen columns">
<h3>Contato</h3>
<p>
E-mail enviado com sucesso! Dentro de instantes estaremos entrando em contato.
</p>
<p><a href="{% url homepage %}">Voltar</a></p>
</div>
{% endblock corpo %}
Template email.txt¶
Já esse template é o corpo do email que vai ser recebido pelo destinatário. Ele aceita somente textos. Abaixo está um exemplo:
Esse e-mail foi recebido do site Juquinhas.com:
Nome: {{ nome }}
E-mail: {{ email }}
{{ mensagem }}
Essas tags vão ser substituidas pelos valores dos campos do formulário.