Python中自己写了个Django Ajax函数,不知道哪里有问题总是不能执行成功?

要实现的功能是,当查看一个资源需要扣掉这个资源的积分然后显示出真的资源地址,并 调用 ajax,无刷新实现

models.py
class Zyuser_MeiMei(models.Model):
author = models.ForeignKey(settings.AUTH_USER_MODEL, null=True)
mmei = models.ForeignKey(‘MeiMei’, verbose_name=“资源”, null=True)
mark = models.BooleanField(default =False, verbose_name=_(u’用户是否查看过’))

def unicode(self):
return self.author.username
class Meta:
verbose_name_plural = u’用户查看 vip’



views.py

#用户查看扣积分函数
@login_required
@csrf_exempt
def look_mm(request, mm_id):
author = request.user
mm = MeiMei.objects.get(id = mm_id)
print ‘adsfasdf’
if author.levels < mm.level:
#raise “您的积分不够用了,请联系管理人员充积分!”
#积分不够直接跳转到。充值页面!
return render(request,“meimei/jifen.html”)
else:
User.objects.filter(username = author.username).update(levels=F(‘levels’) - mm.level)
u_m = Zyuser_MeiMei.objects.update_or_create(author=author, mmei=mm)
u_m.mark = True
print ‘aaaaaaaaaa’
return u_m


.html 页面

<a href="#;" onClick=“vip_chakan(this, {{ meimei.id }});”>点击查看资源</a>

<script src=“http://libs.baidu.com/jquery/2.1.4/jquery.min.js”></script>
<script type=“text/javascript”>
function vip_chakan(o, meimei.id){
$.ajax({
type:“POST”,
url:"/look_mm/"+{{meimei.id}}+"/",
dataType:“json”,
processData:false, // 告诉 jquery 不转换数据
contentType:false, // 告诉 jquery 不设置内容格式
success:function(u_m){
alert(u_m.mark);
}
error:function(){
alert(“请重试!”)
}
});
}
</script>


url.py
url(r’^look_mm/(?P<mm_id>[0-9]+)/$’, login_required(look_mm), name=‘lookmm’),


不知哪里出了问题。那个 views.py 函数总是不执行?
Python中自己写了个Django Ajax函数,不知道哪里有问题总是不能执行成功?


5 回复

axaj ? ajax ?


贴图片多好,这代码排版不想看

你用的 django 是什么版本?

你这个只传一个 id 的情况,应该用 ajax GET 就可以了
要是用 POST 你就不要再构造 url 来传参数了,直接构造一个 json 对象把 id 放里面 POST 到后端。

你在浏览器里面 F12 在控制台调试一下,看看 ajax 到底传数据没有

后端的视图里面放个断点或直接 print 一下没就知道问题出哪里了?


没。一个是资料
另一个是资料与用户相关链的一个模型。现在搞出来了。

回到顶部