[英]Ajax is not saving data in DataBase
我正在構建一個 BlogApp,但我遇到了一個問題。
我想做什么
我正在嘗試通過JavaScript
訪問用戶的位置並將模型的實例保存在數據庫中。
訪問位置工作正常。 但是儲蓄不起作用
問題
位置的城市未保存在數據庫中。 當我刷新頁面時,它不會保存在數據庫中。
模型.py
class Profile(models.Model):
user = models.OneToOneField(User, on_delete=models.CASCADE,default='',unique=True)
full_name = models.CharField(max_length=100,default='')
city = models.CharField(max_length=30,default='')
視圖.py
def func(request):
city = request.GET.get('city')
city.save()
message = 'Updated'
return HttpResponse(message)
模板 (.html)
# Getting city name ( first javascript code ) through IP is working.
<script>
$.ajax({
url: "https://geolocation-db.com/jsonp",
jsonpCallback: "callback",
dataType: "jsonp",
success: function(location) {
$('#city').html(location.city);
}
});
</script>
#This code is for send data to Django.
<script>
$("city").change(function)(){
const city = 'city';
$.ajax({
url ="{% url 'mains:func' %}",
data = {
'city':city,
} ,
success.function(data){
console.log("Update");
}
});
};
</script>
<script src="https://cdnjs.cloudflare.com/ajax/libs/jquery/3.1.1/jquery.min.js"></script>
<div>City: <span id="city"></span></div>
我不知道問題出在哪里。
任何幫助,將不勝感激。
先感謝您。
您需要更新屬於請求中引用的用戶的配置文件實例。 (這是假設請求是針對已登錄用戶的)。
def func(request):
city = request.GET.get('city')
user = request.user
profile = Profile.objects.get(user=user)
profile.city = city
profile.save()
message = 'Updated'
return HttpResponse(message)
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.