免费注册 查看新帖 |

Chinaunix

  平台 论坛 博客 文库
最近访问板块 发新帖
查看: 4150 | 回复: 2
打印 上一主题 下一主题

[问题] Django Generic view 分页 [复制链接]

论坛徽章:
0
跳转到指定楼层
1 [收藏(0)] [报告]
发表于 2008-02-18 13:05 |只看该作者 |倒序浏览
有一个 django project,  目录结构如下:
C:\WORK\ESITE
├─media
│  ├─css
│  ├─images
│  └─js
├─pt
├─templates
│  ├─pt
│  └─tm
└─tm

pt, tm 是两个 app,


现在, 我想在 pt app 中使用 generic view 进行分页..

pt/urls.py 大致如下:

urlpatterns = patterns('esite.pt.views',
    ...........
    (r'^product/list/$', 'django.views.generic.list_detail.object_list', product_info_dict),
    ...........
)

如果这样的话, 系统会提示出错, 原因大概是因为 'esite.pt.views' 这个前缀造成的,
我把这个配置信息放到 根目录下的 urls.py 中, 设置如下:
urlpatterns = patterns('',
    ...........
    (r'^pt/product/list/$', 'django.views.generic.list_detail.object_list', product_info_dict),
    ...........
)

这样可以使系统正常工作,
但是这样比较 ugly,

本来是 pt 应用的 url 配置, 放到根目录的 urls.py 中会把本来一起的东西分割开, 感觉不爽,
而且不便于维护.

另外, pt/urls.py 设置成这样好像也不工作:


from django.views.generic import list_detail
urlpatterns = patterns('esite.pt.views',
    ...........
    (r'^product/list/$', list_detail.object_list, product_info_dict),
    ...........
)

不知道有没有什么好的处理方法没有??
-------------------------------------------------------------------

另一个问题:

在进行分页的过程中:

我想实现下面的功能:

在页面中显示记录的序号, 如下所示:
------------------------------------------
| 序号  | ...........................
------------------------------------------
|  1   |
------------------------------------------
|  2   |
------------------------------------------
|  3   |
------------------------------------------
|  4   |
------------------------------------------
|  5   |

假定每页10条记录, 第一页应该为: 1,2,3,4,....10,
第二页应该为: 11,12,13...20...

有没有什么简便的方法,
我没有用 forloop.counter 实现成功,
django 的模板对算术运算支持的有点弱...

论坛徽章:
0
2 [报告]
发表于 2008-02-18 16:30 |只看该作者
对于pattern的第一参数是适用于所有的url entry的,所以如果你使用了不同的模块的函数,这种方法是不行的。你可以将其拆成多个,将相同前缀的放在一起,如:


  1. urlpatterns = patterns('mysite.views',
  2.     (r'^/?$', 'archive_index'),
  3.     (r'^(\d{4})/([a-z]{3})/$', 'archive_month'),
  4. )

  5. urlpatterns += patterns('weblog.views',
  6.     (r'^tag/(\w+)/$', 'tag'),
  7. )
复制代码


django的template好象不能进行计算,可以使用我以前写的 expr tag。

http://www.djangosnippets.org/snippets/9/

论坛徽章:
0
3 [报告]
发表于 2008-02-19 08:40 |只看该作者
多谢limodou,呵呵, 很多时候都是你冲在前面,
非常感谢!!
您需要登录后才可以回帖 登录 | 注册

本版积分规则 发表回复

  

北京盛拓优讯信息技术有限公司. 版权所有 京ICP备16024965号-6 北京市公安局海淀分局网监中心备案编号:11010802020122 niuxiaotong@pcpop.com 17352615567
未成年举报专区
中国互联网协会会员  联系我们:huangweiwei@itpub.net
感谢所有关心和支持过ChinaUnix的朋友们 转载本站内容请注明原作者名及出处

清除 Cookies - ChinaUnix - Archiver - WAP - TOP