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.

Índices e Tabelas