【发布时间】:2010-09-19 01:55:52
【问题描述】:
在正则表达式不匹配任何使用 django 的情况下,有没有办法将默认参数传递给操作?
urlpatterns = patterns('',(r'^test/(?P<name>.*)?$','myview.displayName'))
#myview.py
def displayName(request,name):
# write name to response or something
我尝试将 urlpatterns 中的第三个参数设置为包含 ' 的字典,并为方法的 name 参数提供默认值,但均无效。 name 参数似乎总是无。如果我可以设置默认值,我真的不想为 None 编写检查代码。
澄清:这是我将其更改为的示例。
def displayName(request,name='Steve'):
return HttpResponse(name)
#i also tried
urlpatterns = patterns('',
(r'^test/(?P<name>.*)?$',
'myview.displayName',
dict(name='Test')
)
)
当我将浏览器指向视图时,它会显示文本 '无'
有什么想法吗?
【问题讨论】:
-
一个完整的,最后的'?'是不必要的,因为 '*' 将匹配零个或多个字符,因此,'^test/.*$' 匹配 'test/' 和 'test/name' 就好了。
标签: python django django-urls