Como usar o django-contact-form (aplicativo de terceiros)?
-
23-12-2019 - |
Pergunta
django-contact-form é um popular aplicativo de terceiros.O objetivo é eliminar tédio da repetição e fornecendo simples, extensível, contacte-funcionalidade de formulário para Django-sites powered.No entanto, eu encontrei o documentação de alguma forma, é difícil seguir(Talvez, eu não sou inteligente o suficiente:).
Depois de algumas pesquisas e testes, finalmente, eu tenho que trabalhar.Eu vou escrever para baixo as etapas e o código para ajudar a quem pode estar a usá-lo no futuro.
Solução
1.Instalar
pip install django-contact-form
2.Adicionar a configuração necessária para settings.py
EMAIL_USE_TLS = True
EMAIL_HOST = 'smtp.gmail.com'
EMAIL_PORT = 587
EMAIL_HOST_USER = 'laike9m@gmail.com' # this is my email address, use yours
EMAIL_HOST_PASSWORD = os.environ['EMAIL_HOST_PASSWORD'] # set environ yourself
ADMINS = (
('your_name', 'your_email'), # email will be sent to your_email
)
MANAGERS = ADMINS
Além disso, adicione 'contact_form'
para o seu INSTALLED_APPS
.
3.Criar contact_form modelos
Crie uma pasta chamada contact_form
em seu templates
pasta e adicionar esses arquivos para ele:
templates
└─contact_form
contact_form.html
contact_form.txt
contact_form_sent.html
contact_form_subject.txt
Você pode escrever o seu próprio, Aqui está o que eu uso:
contact_form.html
{% extends 'laike9m_blog/blog_base.html' %}
{% block content %}
<h2>Contact Form</h2>
<p>To send us a message fill out the below form.</p>
<form method="post">{% csrf_token %}
<p>Name: <input type="text" name="name"></p>
<p>Your e-mail: <input type="text" name="email"></p>
<p>Message: <textarea name="body" rows="10" cols="50"></textarea></p>
<input type="submit" value="Submit">
</form>
{% endblock content %}
contact_form.txt
{{ name }}
{{ email }}
{{ body }}
contact_form_sent.html
{% extends 'laike9m_blog/blog_base.html' %}
{% block content %}
<h2>Your message was sent.</h2>
{% endblock content %}
contact_form_subject.txt
message from {{ name }}
4.URLconf
Adicione esta linha em seu URLconf:
(r'^contact/', include('contact_form.urls')),
Tudo Feito