初识Django(邮件小工具)

1 、创建项目 startapp+app
2、将html文件粘贴,static文件夹粘贴
3、在目录中新建urls
4、在settings中添加app名称,并且在最下边写如下代码

STATIC_URL = '/static/'
STATICFILES_DIRS = [
    os.path.join(BASE_DIR, 'static')
]

# 配置邮箱服务器地址
EMAIL_HOST = 'smtp.sina.cn'
# 邮箱服务器端口
EMAIL_PORT = 25
# 发送邮件用户名
EMAIL_HOST_USER = '[email protected]'
# 密码
EMAIL_HOST_PASSWORD = 'Sfy199906'
# 是否使用安全传输
EMAIL_USE_TLS = True

5、在项目目录下的urls.py文件中写如下代码

from django.contrib import admin
from django.conf.urls import url,include

urlpatterns = [
    url('admin/', admin.site.urls),
    url('email/',include('app.urls'))
]

6、在app下的urls.py文件中写如下代码

from django.conf.urls import url
from .views import *


urlpatterns = [
    url(r'^$', email_index, name='eamil_index'),
    url(r'^sendmail/$', sendmail, name='sendmail')
]

app下的view.py代码为

from django.shortcuts import render, redirect, HttpResponse
# 引入发送邮件函数send_mail()
from django.core.mail import send_mail
from new_email import settings
# Create your views here.


def email_index(request):

    return render(request, 'email.html')


def sendmail(request):

    if request.method == 'POST':

        address = request.POST.get('address')
        title = request.POST.get('title')
        content = request.POST.get('content')
        # 1.邮件标题 2.邮件内容 3.发件人帐号 4.收件人帐号(多个)
        result = send_mail(title, content, settings.EMAIL_HOST_USER, [address],html_message=content)
        if result:
            return HttpResponse('邮件发送成功!')
        else:
            return HttpResponse('邮件发送失败!')

    else:
        return redirect('/email')


html代码为

{% load static %}
<!DOCTYPE html>
<html lang="zh-CN">
  <head>
      <title>Document</title>
    <meta charset="utf-8">
    <meta http-equiv="X-UA-Compatible" content="IE=edge">
    <meta name="viewport" content="width=device-width, initial-scale=1">
    <!-- 上述3个meta标签*必须*放在最前面,任何其他内容都*必须*跟随其后! -->
    <title>Bootstrap 101 Template</title>

    <!-- Bootstrap -->
     <link href="{% static 'css/bootstrap.min.css' %}" rel="stylesheet">
     <link href="{% static 'css/signin.css' %}" rel="stylesheet">

  </head>
  <body>

  <div class="container">

      <form class="form-signin" action="{% url 'sendmail' %}" method="post">
        {% csrf_token %}
        <h2 class="form-signin-heading">邮件小工具</h2>
        <label for="inputEmail" class="sr-only">Email address</label>
        <input type="email" id="inputEmail" class="form-control" name="address" placeholder="收件人邮箱地址" required autofocus>
        <label for="inputPassword" class="sr-only">邮件标题</label>
        <input type="text" id="inputPassword" class="form-control" placeholder="邮件标题" name="title" required>
        <textarea class="form-control" rows="3" placeholder="请输入邮件内容" name="content"></textarea>
        <button class="btn btn-lg btn-primary btn-block" type="submit">发送</button>
      </form>

    </div> <!-- /container -->

    <!-- jQuery (Bootstrap 的所有 JavaScript 插件都依赖 jQuery,所以必须放在前边) -->
    <script src="{% static 'js/jquery.min.js' %}"></script>
    <!-- 加载 Bootstrap 的所有 JavaScript 插件。你也可以根据需要只加载单个插件。 -->
    <script src="{% static 'js/bootstrap.min.js' %}"></script>
  </body>
</html>

猜你喜欢

转载自blog.csdn.net/pinkmouse/article/details/83151910