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
要使用时:3.cache缓存设置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."
)
c
=
comments.Comment(comment
=
new_comment)
c.save()
request.session[
'has_commented'
]
=
True
return
HttpResponse(
'Thanks for your comment!'
)
分内存,文件系统,数据库缓存,我们开发阶段不需要指定缓存路径,使用默认的,在settings.py添加
'django.middleware.cache.CacheMiddleware', 'django.middleware.common.CommonMiddleware',
之后缓存视图:
from django.views.decorators.cache import cache_page
@cache_page(60 * 15)在视图函数上方使用,表示缓存15min。