要实现的功能是,当查看一个资源需要扣掉这个资源的积分然后显示出真的资源地址,并 调用 ajax,无刷新实现
models.pyclass 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_exemptdef 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.pyurl(r'^look_mm/(?P<mm_id>[0-9]+)/$', login_required(look_mm), name='lookmm'),
不知哪里出了问题。那个
views.py 函数总是不执行?
这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。
https://www.v2ex.com/t/518524
V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。
V2EX is a community of developers, designers and creative people.