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.
Open the contact_form/contact/views.py file and add this code: from django. http import HttpResponse def contact_view(request): return HttpResponse("Contact app works!") When you visit http://127.0.0.1:8000/contact/ in your browser you should see the text “Contact app works!”.
forms.py is where the django documentation recommends you place all your forms code; to keep your code easily maintainable. Also, since its a convention mentioned in the documentation, it helps when you are collaborating with others because that is where others will expect to look for your code dealing with forms.
GET and POSTDjango's login form is returned using the POST method, in which the browser bundles up the form data, encodes it for transmission, sends it to the server, and then receives back its response. GET , by contrast, bundles the submitted data into a string, and uses this to compose a URL.
pip install django-contact-form
settings.py
EMAIL_USE_TLS = True
EMAIL_HOST = 'smtp.gmail.com'
EMAIL_PORT = 587
EMAIL_HOST_USER = '[email protected]' # 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
.
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 }}
Add this line into your URLconf:
(r'^contact/', include('contact_form.urls')),
All Done
If you love us? You can donate to us via Paypal or buy me a coffee so we can maintain and grow! Thank you!
Donate Us With