首页 > 解决方案 > 我正在尝试使用 ajax Django 将数据上传到数据库,但它不能正常工作

问题描述

我是 Django 的初学者。我必须使用 ajax 将数据上传到数据库。为此,我正在尝试一些代码,但它不能正常工作。我无法使用这些代码上传数据。这是正确的ajax编码方式吗

要求: 实际需要在我的 Django 应用程序中,查看产品的联系方式后,应向用户发送通知。为此,我尝试了这种方法。不知道是不是这种工作方式

模型.py

class Notifications(models.Model):
    owner = models.ForeignKey(User, 
    null=True, blank=True,on_delete=models.CASCADE)
    property = models.ForeignKey(Property, null=True, blank=True,on_delete=models.CASCADE)
    notification = models.TextField()
    date = models.DateTimeField(auto_now_add=True)

def __str_(self):
    return self.notification

视图.py

def notification(request):
    user = request.user 
    if request.method == 'POST':
       property_id = request.POST['property_id'] 
       owner = request.POST['owner_id']
       property_object = 
       Property.objects.get(id=property_id)
       owner_object = User.objects.all().get(username=owner)
       notification =  user, "have intrested in your property", property_object.headline 
       property_object.notify.add(user)
       notifications = Notifications.objects.create(notification=notification, property=property_object, owner=owner_object)

       notifications.save()

       return JsonResponse({'msg':'success'})

阿贾克斯

<form action="{% url 'like_post'  %}" method="post" id="notify_form" >
                {% csrf_token %}
            <input type="hidden" name="owner_id" value="{{ accomodation.owner }}">
            <button id="request-btn" name="property_id" value="{{ accomodation.id }}" class="btn btn-primary">Contact info:</button>
<script src="https://ajax.googleapis.com/ajax/libs/jquery/3.3.1/jquery.min.js"></script>
<script type="text/javascript">` 
$(document).ready(function(e){
$(document).on('submit','#request-btn',function(e){
    e.preventDefault();
    
    $.ajax({
        type:'POST',
        url:"{% url 'notification' %}",
        data:$('#notify_form').serialize(),
        dataType:'Json',
        success:function(data){
            if(data,msg == "success"){
                alert('data submitted')
            }
        }

    });
  });
});

`

标签: djangoajax

解决方案


推荐阅读