1

可能重复:
在 request.GET 中捕获 url 参数

我正在使用 django 设计我的网站的详细信息页面,并将 Topic Url 设置如下:

(r'd/\d+/$', 'xiangwww.detail.views.detail'),

第二个参数是主题的 ID。但是当我按照 Django Book 的指南获取它时:

def detail(request,offset):
    print offset
    return render_to_response('detail.html')

页面“localhost:8000/d/1/”显示 TypeError:detail() 正好需要 2 个参数(1 个给定)

似乎Django无法识别我的views.py文件中的偏移量,如何解决?

4

2 回答 2

4

您需要通过将其放入正则表达式组来捕获该数字:

(r'd/(\d+)/$', 'xiangwww.detail.views.detail'),

没有该(...)组,Django 不知道捕获的数字,也无法将其传递给您的视图。请参阅URL 调度文档

要从 URL 中获取值,只需将括号括起来。

于 2012-09-24T11:26:02.650 回答
0

您需要更改 url 以接受偏移量作为参数,例如

(r'd/(?P<offset>\d+/)$', 'xiangwww.detail.views.detail'),
于 2012-09-24T11:26:39.037 回答