Python学习day13 Django 分页/Session/Cookie
内容导读
互联网集市收集整理的这篇技术教程文章主要介绍了Python学习day13 Django 分页/Session/Cookie,小编现在分享给大家,供广大互联网技能从业者学习和参考。文章包含4215字,纯文字阅读大概需要7分钟。
内容图文
![Python学习day13 Django 分页/Session/Cookie](/upload/InfoBanner/zyjiaocheng/1331/f2c26c0fc98b4daebefa4d8f3c795bee.jpg)
Created on 2017年5月3日
第1课:上节作业简介
鼠标放上表单后进入编辑模式-----需学习----CMDB里会学到
模态对话框里--弹出对话框---对后台进行操作---
方式:
1 Form-用Submit页面整个刷新
2 用Ajax后台请求,通过Sessuss方式返回数据来控制模态对话框
第2课:本节内容1
第3课:本节内容2
第4课:django自定义分页一 28minutes
第5课:django自定义分页二 35minutes
url(r‘^index/(\d*)‘, views.index),
index/(\d*) 这里后面不加/可以没有参数
后台返回给前端的HTML,在前端是以字符串方式来显示,不会直接以HTML在页面上显示
from django.utils.safestring import mark_safe
可通过mark_safe(‘html标签‘)
divmod(12,5)
def index(request,page):
try:
page = int(page)
except:
page = 1
per_item = 5
start = (page-1)*per_item
end = page*per_item
count = Asset.objects.all().count()
result = Asset.objects.all()[start:end]
temp = divmod(count, per_item)
if temp[1] == 0 :
all_page_count = temp[0]
else:
all_page_count = temp[0]+1
page_html = "<a href=‘/app01/index/%d‘>首页</a>"%(1)
for i in range(1,all_page_count+1):
a_html ="<a href=‘/app01/index/%d‘>%d</a>"%(i,i)
page_html += a_html
page_html += "<a href=‘/app01/index/%d‘>尾页</a>"%(all_page_count)
page = mark_safe(page_html)
ret = {‘data‘:result,‘count‘:count,‘page‘:page}
return render_to_response(‘app01/index.html‘, ret)
第6课:django自定义分页三 35minutes
第7课 Django自定义分布四 40minutes
完好的html分页代码:
# -*- coding: utf-8 -*-
from django.utils.safestring import mark_safe
‘‘‘
Created on 2017年5月4日
这是一个分页的模块,可以对所有的数据进行分页
@author: Administrator
‘‘‘
#这里需要提供:当前页面,每页数量,显示的Models
def model(page,per_item,M):
try:
page = int(page)
except:
page = 1
start = (page-1)*per_item
end = page*per_item
count = M.objects.all().count()
result = M.objects.all()[start:end]
temp = divmod(count, per_item)
if temp[1] == 0 :
all_page_count = temp[0]
else:
all_page_count = temp[0]+1
return all_page_count,result,count
#这里需要提供:当前页面,总页数,转向的URL
def pager(page,all_page_count,url):
try:
page = int(page)
except:
page = 1
#判断如果页面是1,则上一页无,正常上一页为当前少1
if page <= 1:
page_html = "<a href=‘#‘>上一页</a>"
else:
page_html = "<a href=‘%s/%d‘>上一页</a>"%(url,page-1)
#首页就是第1页
page_html += "<a href=‘%s/%d‘>首页</a>"%(url,1)
#页面显示11个页码,如果当前页面少于5,则启始页为1,正常启始页为当前减5
if page-5 <=0:
page_start = 1
page_end = 12
else:
page_start = page-5
if all_page_count-6>=page:
page_end = page+6
else:
page_end = all_page_count
for i in range(page_start,page_end+1):
if page == i:
a_html ="<a class=‘selected‘ href=‘%s/%d‘>%d</a>"%(url,i,i)
else:
a_html ="<a href=‘%s/%d‘>%d</a>"%(url,i,i)
page_html += a_html
page_html += "<a href=‘%s/%d‘>尾页</a>"%(url,all_page_count)
#
if page < all_page_count:
page_html += "<a href=‘%s/%d‘>下一页</a>"%(url,page+1)
else:
page_html += "<a href=‘#‘>下一页</a>"
page = mark_safe(page_html)
return page
第8课 Session剖析和应用 45minutes
Cookie
存在客户端的浏览器上
Session
存在服务器上,保持会话(如登录后操作其他页面)
-----------------------sesson-----------------------------------------
def index(request):
#这里判断是否有Request.sesson值,有就返回正常页面,无则返回登录页面
user_dict = request.session.get(‘is_login‘,None)
if user_dict:
return render_to_response(‘app02/index.html‘,{‘user‘:user_dict[‘user‘]})
else:
return redirect(‘/app02/login‘)
def login(request):
ret = {‘status‘:None}
if request.method == ‘POST‘:
username = request.POST.get(‘username‘,None)
password = request.POST.get(‘password‘,None)
print username,password
if username == ‘aaa‘ and password == ‘111111‘:
#这里给Session设定一个值,如果正常登录,则为Ture
# request.session[‘is_login‘] = True
request.session[‘is_login‘] = {‘user‘:username}
ret[‘status‘] = ‘登录成功‘
return redirect(‘/app02/index‘)
else:
ret[‘status‘] = ‘用户名或密码错误‘
return render_to_response(‘app02/login.html‘,ret)
def logout(request):
#删除sesson里的值,用del就可以了
del request.session[‘is_login‘]
return redirect(‘/app02/index‘)
---------------------------------------------------------------------
request.session 这个信息所有方法都可以使用
request.session[‘is_login‘] = {‘user‘:username}
第9课 Django中Session的运行机制 28minutes
session相关参数在Setting中设定
如果用户端浏览器中Cookie禁用了,网站无法在本地写入相关数据,则无法登录网站
cookiet 和 session的关系:
每个用户登录后会产生一个Cookie,用户 访问网站时,带着这个Cookie的值,网站会保留一个
Session的的Key(Cookie的值),来确认是否为该用户。
多个用户多个Key
第9课 Django的剖析和应用 33minutes
给页面手工设置Cookie
response = render_to_response(‘app02/login.html‘,ret)
response.set_cookie(‘k1‘, ‘v1‘)
jquery.cookie.js有Jquery的Cookie操作
原文:http://www.cnblogs.com/syother/p/6817842.html
内容总结
以上是互联网集市为您收集整理的Python学习day13 Django 分页/Session/Cookie全部内容,希望文章能够帮你解决Python学习day13 Django 分页/Session/Cookie所遇到的程序开发问题。 如果觉得互联网集市技术教程内容还不错,欢迎将互联网集市网站推荐给程序员好友。
内容备注
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 gblab@vip.qq.com 举报,一经查实,本站将立刻删除。
内容手机端
扫描二维码推送至手机访问。