(转)Django ====> 实战学习篇十三 分页(Paginator)处理;Django使用内置的admin
2012-11-27 15:24
721 查看
原文地址:http://blog.csdn.net/thinkinside/article/details/7246621
源代码下载地址:留言写下邮箱地址,一天内会发送给你全部源代码
分页(Paginator):
订单或者其他越来越多的时候需要分页处理;
分页是web应用的常用手法,django提供了一个分页器类Paginator(django.core.paginator.Paginator),很容易实现分页的功能,该类有两个构造参数,一个是数据的集合,一个是每页放多少数据;
使用方法集合如下:
前边scaffold生成的内容里边已经包含了分页的功能,以后可以在view函数和模板中使用分页器这个类了。
内置的Admin管理用户:
到目前为止,我们开发的所有功能都是匿名访问的,这显然不够安全。通常我们会要求注册的用户通过用户名和密码登录,只有登录后的用户才可以管理产品。套用专业的说法就是:第一步是认证,验证用户是否是他所宣称的那个人;第二步是授权,验证用户是否拥有执行某种操作的权限。
1.4版本的django中:首先修改settings文件:
然后修改urls.py文件:
url(r'^admin/', include(admin.site.urls)),
然后进行命令:
创建数据库表,过程中会提示进行创建管理员。
管理员也可以手动创建:
此时访问http://localhost:8000/admin/,就可以看到中文的管理界面了。
源代码下载地址:留言写下邮箱地址,一天内会发送给你全部源代码
分页(Paginator):
订单或者其他越来越多的时候需要分页处理;
分页是web应用的常用手法,django提供了一个分页器类Paginator(django.core.paginator.Paginator),很容易实现分页的功能,该类有两个构造参数,一个是数据的集合,一个是每页放多少数据;
使用方法集合如下:
$python manage.py shell >>> from django.core.paginator import Paginator >>> objects = ['john', 'paul', 'george', 'ringo'] >>> p = Paginator(objects, 2) #每页两条数据的一个分页器 >>> p.count #数据总数 4 >>> p.num_pages #总页数 2 >>>p.page_range #页码的列表 [1, 2] >>> page1 = p.page(1) #第1页 >>> page1 <Page 1 of 2> >>> page1.object_list #第1页的数据 ['john', 'paul'] >>> page2 = p.page(2) >>> page2.object_list #第2页的数据 ['george', 'ringo'] >>> page2.has_next() #是否有后一页 False >>> page2.has_previous() #是否有前一页 True >>> page2.has_other_pages() #是否有其他页 True >>> page2.next_page_number() #后一页的页码 3 >>> page2.previous_page_number() #前一页的页码 1 >>> page2.start_index() # 本页第一条记录的序数(从1开始) 3 >>> page2.end_index() # 本页最后录一条记录的序数(从1开始) 4 >>> p.page(0) #错误的页,抛出异常 ...EmptyPage: That page number is less than 1 >>> p.page(3) #错误的页,抛出异常 ...EmptyPage: That page contains no results
前边scaffold生成的内容里边已经包含了分页的功能,以后可以在view函数和模板中使用分页器这个类了。
内置的Admin管理用户:
到目前为止,我们开发的所有功能都是匿名访问的,这显然不够安全。通常我们会要求注册的用户通过用户名和密码登录,只有登录后的用户才可以管理产品。套用专业的说法就是:第一步是认证,验证用户是否是他所宣称的那个人;第二步是授权,验证用户是否拥有执行某种操作的权限。
1.4版本的django中:首先修改settings文件:
INSTALLED_APPS = ( 'django.contrib.auth', 'django.contrib.contenttypes', 'django.contrib.sessions', #'django.contrib.sites', #'django.contrib.messages', #'django.contrib.staticfiles', # Uncomment the next line to enable the admin: 'django.contrib.admin', 这一行本来是注释着的 现在给注释去掉 # Uncomment the next line to enable admin documentation: # 'django.contrib.admindocs', 'depot.depotapp', 'django-groundwork', 'djangorestframework', )
然后修改urls.py文件:
from django.contrib import admin admin.autodiscover()
url(r'^admin/', include(admin.site.urls)),
urls文件中有这三行,我们把之前有的注释给去掉就行了
然后进行命令:
python manage.py syncdb
创建数据库表,过程中会提示进行创建管理员。
管理员也可以手动创建:
$ python manage.py createsuperuser Username (Leave blank to use 'holbrook'): E-mail address: a@b.com Password: Password (again): Superuser created successfully. holbrook-wongdemacbook-pro:depot holbrook$ python manage.py syncdb Creating tables ... Creating table auth_permission Creating table auth_group_permissions Creating table auth_group Creating table auth_user_user_permissions Creating table auth_user_groups Creating table auth_user Creating table auth_message
此时访问http://localhost:8000/admin/,就可以看到中文的管理界面了。
相关文章推荐
- (转)Django ====> 实战学习篇十四 处理登录和注销;控制权限
- Django实战(21):使用内置的Amin管理用户
- 使用Spring MVC统一异常处理实战<转>
- django 学习个人总结 之admin后台的使用,操作
- (转)Django ====> 实战学习篇十二 提交订单;自定义many-to-many关系,实现Atom订阅
- Django ====> (转)Django如何使用request和response对象 Django结构及处理流程分析
- Django实战(21):使用内置的Amin管理用户
- PythonWeb开发Django框架学习(十一)使用框架自带Admin管理数据库数据
- (转)Django ====> 实战学习篇九 在session中保存购物车
- (转)Django ====> 实战学习篇七 Model类的修改
- Django 学习小组:博客开发实战第三周教程——文章列表分页和代码语法高亮
- (转)Django ====> 实战学习篇一 django印象
- (转)Django ====> 实战学习篇十一 Django实现RESTFul web service,Django+jquery,ajax
- 2.4.1、Django使用内置的Admin管理用户
- django学习(二)之分页、vue.js数据绑定及模态对话框的使用
- Django:使用Paginator进行自动分页
- (转)Django ====> 实战学习篇八 增加目录页,设置统一布局
- CMake入门学习+实战<四> 使用外部共享库和头文件+实战:使用CLion调用zlib静态库实现pdf flatedecode解码
- django使用 Paginator 实现分页功能
- (转)Django ====> 实战学习篇十 让页面联动起来