问题
django-contact-form is a popular third-party application. It aims to remove tedium and repetition by providing simple, extensible contact-form functionality for Django-powered sites. However I found the documentation is somehow difficult to follow(Perhaps I'm not clever enough:).
After some searching and testing, finally I got it to work. I'll write down the steps and code to help those who might be using it in the future.
回答1:
1. Install
pip install django-contact-form
2. Add necessary configuration to 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
Also, add 'contact_form'
to your INSTALLED_APPS
.
3. Create contact_form templates
Create a folder called contact_form
in your templates
folder and add these files into it:
templates
└─contact_form
contact_form.html
contact_form.txt
contact_form_sent.html
contact_form_subject.txt
You can write your own, Here's what I use:
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
Add this line into your URLconf:
(r'^contact/', include('contact_form.urls')),
All Done
来源:https://stackoverflow.com/questions/22061178/how-to-use-django-contact-form-third-party-app