首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >urls.py未传递url模式

urls.py未传递url模式
EN

Stack Overflow用户
提问于 2012-01-10 12:13:57
回答 2查看 387关注 0票数 2

我刚刚创建了一个URL模式条目,用于将内容路由到我的注册视图,但是该参数根本没有被传递,尽管它显然在url中。

我的URL模式:

代码语言:javascript
运行
复制
url(r'^register/(?P<profile_type>\w+/?$)', 'userProfile.views.register'),

我的视图定义:

代码语言:javascript
运行
复制
def register(request, profile_type=None):

我尝试加载的URL (不是真正的URL,而是一个示例):

代码语言:javascript
运行
复制
http://example.com/register/user

当我在视图的开头设置pdb断点时,profile_type为None,但url为http://example.com/register/user

我尝试运行re.match以查看正则表达式是否错误,得到了以下结果:

代码语言:javascript
运行
复制
match = re.match(r'^register/(?P<profile_type>\w+/?$)', 'register/user')
match
<_sre.SRE_Match object at 0x1004d48a0>
match.groupdict()
{'profile_type': 'user'}

显然,正则表达式匹配URL的“user”部分,但它没有被传递。我希望在这方面能得到一些帮助。

urls.py包含其他类似的模式,并且这些模式工作正常:

代码语言:javascript
运行
复制
url(r'^user/(?P<profile_id>\d+/?$)', 'userProfile.views.registeredUser'),

视图位于正确的位置,并且正在正确调用,但未传递参数。

实际上,我在文件中有一个以前的模式,看起来像这样:

代码语言:javascript
运行
复制
url(r'^register', 'userProfile.views.register'),

我认为这是在第二个模式之前被调用,把事情搞砸了……

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2012-01-11 12:02:25

正如我刚刚添加到问题部分一样,我的文件中有一个以前的模式,它把事情搞得一团糟:

url(r'^register', 'userProfile.views.register'),

我将其更改为:

url(r'^register+/?$', 'userProfile.views.register'),

现在一切都正常了。/facepalm

票数 0
EN

Stack Overflow用户

发布于 2012-01-10 13:04:41

尝试在设置中将APPEND_SLASH设置为False。有关详细信息,请参阅that

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/8798484

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档