Come utilizzare Django-Modulo di contatto (APP di terze parti)?
-
23-12-2019 - |
Domanda
Django-contact-form è popolareapplicazione di terze parti.Mira a rimuovere il tedio e la ripetizione fornendo funzionalità semplici ed estendibili del modulo di contatto per i siti a django.Tuttavia ho trovato il Documentazione è in qualche modo difficile da seguire (forseNon sono abbastanza intelligente :).
Dopo alcuni ricercatori e test, finalmente l'ho capito.Scriverò i gradini e il codice per aiutare coloro che potrebbero usarlo in futuro.
Soluzione
1.Installa
pip install django-contact-form
.
2.Aggiungi la configurazione necessaria a 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
.
Inoltre, aggiungi 'contact_form'
al tuo INSTALLED_APPS
.
3.Crea modelli contact_form
Creare una cartella chiamata contact_form
nella cartella templates
e aggiungi questi file in esso:
templates
└─contact_form
contact_form.html
contact_form.txt
contact_form_sent.html
contact_form_subject.txt
.
Puoi scrivere il tuo, ecco cosa 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
Aggiungi questa linea nel tuo urlConf:
(r'^contact/', include('contact_form.urls')),
.
Tutto Fatto