姜戈甜蜜化

5 django sweetalert sweetalert2

我已经阅读了有关https://github.com/Atrox/sweetify-django的文档,但我不太明白,我已经在 Django 中下载并导入了 sweetify 的要求。我只是希望如果记录被更新,就会出现弹出消息(sweetify) 。

\n\n
def studentrecords(request):\n   if request.method == \'POST\':\n      id = request.POST.get("id")\n      update = StudentsEnrollmentRecord.objects.get(id=id)\n      update.Section = s\n      update.save()\n      sweetify.success(request, \'You did it\', text=\'Your Form has been Updated\',persistent=\'Hell yeah\')\n      return render(request, \'Homepage/selectrecord.html\')\n
Run Code Online (Sandbox Code Playgroud)\n\n

这是我的html

\n\n
{% load sweetify %}\n{% sweetify %}\n <form  method="post" action="/studentrecords/" enctype="multipart/form-data">{% csrf_token %}\n<table>\n    {% for student in myrecord %}\n    <tr>\n        <td>Control #</td>\n        <td><input type="text" name="id" value="{{student.id}}"></td>\n        <td><input type="submit"></td>\n    </tr>\n    <tr>\n        <td>Name: </td>\n        <td><input type="text" value="{{student.Student_Users.Firstname}} {{student.Student_Users.Lastname}} {{student.Student_Users.Middle_Initial}}"></td>\n        <td>Course/Track</td>\n        <td><input type="text" value="{{student.Courses}}"></td>\n    </tr>\n    <tr>\n        <td>Education Level: </td>\n        <td><input type="text" value="{{student.Education_Levels}}"></td>\n        <td>Strand: </td>\n        <td><input type="text" value="{{student.strands}}"></td>\n    </tr>\n    <tr>\n        <td>Section: </td>\n        <td>\n            <select name="section">\n                <option value="{{student.Section.id}}">{{student.Section}}</option>\n                {% for sections in section %}\n                <option value="{{sections.id}}">{{sections.Description}}</option>\n                {% endfor %}\n            </select>\n        </td>\n        <td>Payment Type: </td>\n        <td><input type="text" value="{{student.Payment_Type}}" class="myform"></td>\n    </tr>\n    {% endfor %}\n</table>\n </form>\n<script src="https://cdn.jsdelivr.net/npm/sweetalert2@9"></script>\n<script>\n    Swal.fire(\n  \'Good job!\',\n   \'Data Updated!\',\n  \'success\'\n)\n</script>\n
Run Code Online (Sandbox Code Playgroud)\n\n

我的设置.py

\n\n
INSTALLED_APPS = [\n    #my apps\n    \xe2\x80\xa6.\n    \'sweetify\'\n]\nSWEETIFY_SWEETALERT_LIBRARY = \'sweetalert2\'\n
Run Code Online (Sandbox Code Playgroud)\n\n

我没有收到任何错误,但没有出现弹出消息 (sweetify)

\n

Jur*_*dil 0

首先,如果您想收到有关任何记录更新的通知,我建议使用信号而不是检测请求方法。这是一种更集中、更强大的解决方案。只需将其添加到您的models.py

from django.db.models.signals import post_save

@receiver(models.signals.post_save, sender=StudentsEnrollmentRecord)
def update_enrollment_record_handler(sender, updated_instance, **kwargs):
    """This method is called after every call of StudentsEnrollmentRecord.save"""
    sweetify.success(request, 'You did it', text='Your Form has been Updated',persistent='Hell yeah')
Run Code Online (Sandbox Code Playgroud)

其次 - POST 旨在通过 RestAPI 创建对象,您应该切换到 UPDATE(包括所有对象字段)或 PUT(更新一些对象字段)。

第三 - 当您在 sweetify 行上方添加 print 语句时会发生什么?该打印运行吗?如果没有,那么您的整个设置甚至不会调用该studentrecords方法,您需要共享更多信息,以便我们可以复制情况和/或进一步提供建议。