django 中ajax、session、cache的使用

1.ajax登录验证的使用

html:

<p>Username:<input type="text" id="username"></p>
<p>Password:<input type="text" id="password"></p>
<button οnclick="tijiao1();">Submit</button><span id="status"></span>>
js:

function tijiao1() {
            var user = $('#username').val();
            var password = $('#password').val()
            $.ajax({
                url: '/ccc/',
                type: 'POST',
                data: {username:user, pwd:password},
                success:function (callback) {
                    var callback_dict = $.parseJSON(callback);
                    if(callback_dict.status == 1002){
                        $('#status').text('success');
                        $('#status').removeClass('error').addClass('success');
                    } else if(callback_dict.status == 1001){
                        $('#status').text(callback_dict.error);
                        $('#status').removeClass('success').addClass('error');
                    }
                }
            })
        }
views:

@csrf_exempt
def ccc(request):
    if request.method == 'POST':
        ret = {'status': 1001, 'error': ''}
        user = request.POST.get('username',)
        pwd = request.POST.get('pwd',)
        print(user, pwd)
        if user == 'freeman' and pwd == 'redhat':
            ret['status'] = 1002
        else:
            ret['error'] = 'Username oR password error'
        return HttpResponse(json.dumps(ret))

2.session的使用

session可以用来记录登录信息及各种自定义的信息

request.session['login'] =True
要使用时:
    is_login = request.session.get('login',False)
if is_login:
return HttpResponse('Say hi here is index')
还可以设置评论了就不能评论了
  
  
from  django.http  import  HttpResponse
 
def  post_comment(request, new_comment):
     if  request.session.get( 'has_commented' False ):
         return  HttpResponse( "You've already commented." )
     =  comments.Comment(comment = new_comment)
     c.save()
     request.session[ 'has_commented' =  True
     return  HttpResponse( 'Thanks for your comment!' )
3.cache缓存设置

分内存,文件系统,数据库缓存,我们开发阶段不需要指定缓存路径,使用默认的,在settings.py添加

'django.middleware.cache.CacheMiddleware',
'django.middleware.common.CommonMiddleware',

之后缓存视图:

from django.views.decorators.cache import cache_page
@cache_page(60 * 15)
在视图函数上方使用,表示缓存15min。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值