首页 > 解决方案 > 每次单击“从 HTML 发送”按钮时如何将数据插入数据库

问题描述

我的 Django 应用程序上有一个 SMS 功能,但我希望在每次发送消息时记录消息和时间戳。sms_message每次单击发送短信时,我都需要将值存储在另一个表中。

  1. 另一个表上的条目将是这样的:
    • 编号:1
    • 说明:截至 {z.timestamp},降雨警告现在位于 {z.level}。请做好疏散准备
    • 时间戳:XXXXX

求助,怎么办?谢谢!

@views.py

def send_sms(request):
    aws_access_key_id = "XXXXXXXXXXXX"
    aws_secret_access_key = "XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX"
    aws_region_name = "us-east-1"

    z = Rainfall.objects.latest('timestamp', 'level')
    sender_id = "Test"
    sms_message = f'As of {z.timestamp}, the Rainfall Warning is now at {z.level}. Please prepare for evacuation'

    client = boto3.client(
        "sns",
        aws_access_key_id=aws_access_key_id,
        aws_secret_access_key=aws_secret_access_key,
        region_name=aws_region_name
    )

    topic = client.create_topic(Name="notifications")
    topic_arn = topic['TopicArn']  # get its Amazon Resource Name


    numbers = Mobile.objects.all()
    for i in numbers:
        client.subscribe(
            TopicArn=topic_arn,
            Protocol='sms',
            Endpoint=i.mobile_number
        )

    response = client.publish(
        Message=sms_message,
        TopicArn=topic_arn,
        MessageAttributes={
            'string': {
                'DataType': 'String',
                'StringValue': 'String',
            },
            'AWS.SNS.SMS.SenderID': {
                'DataType': 'String',
                'StringValue': sender_id
            }
        }
    )

    messages.info(request, 'SMS sent successfully!')
    return HttpResponseRedirect('/advisory/') 

@sendsms.html

{% block content %}

            {% if messages %}
                {% for message in messages %}
                    {% if message.tags %} <script>alert("{{ message }}")</script> {% endif %}
                {% endfor %}
            {% endif %}

            <form method="post" action="{% url 'send_sms' %}">
                {% csrf_token %}
                <button class="btn btn-danger btn-block btn-round">Send SMS</button>
            </form>
        {% endblock content %}

标签: javascripthtmldjangosms

解决方案


推荐阅读