How to use django-contact-form (third-party app)?

后端 未结 1 1130
轮回少年
轮回少年 2020-12-30 15:16

django-contact-form is a popular third-party application. It aims to remove tedium and repetition by providing simple, extensible contact-form functionality

相关标签:
1条回答
  • 2020-12-30 15:42

    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

    0 讨论(0)
提交回复
热议问题