首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >django url解析格式的url

django url解析格式的url
EN

Stack Overflow用户
提问于 2013-10-06 14:08:24
回答 1查看 857关注 0票数 0

我正处于单一网页应用程序的设计阶段,我想让用户点击格式化的URL,然后将数据请求加载到页面中。

例如,http://www.mysite.com/?category=some_cat的url将使用相关数据触发Category视图。

我的目的是解析URL,收集数据,然后将其传递给index.html模板,以便在页面加载时呈现。加载页面后,Javascript触发器设置将触发适当的按钮来加载客户端视图。

但是,我在设置URL解析器时遇到了问题,因为下面的设置与上面的示例url不匹配。

代码语言:javascript
复制
from app.views import app_views, photo_views, user_views, admin_views

urlpatterns = patterns("",
    url(r'^/(?P<category>\d+)/$', app_views.index)
)
EN

回答 1

Stack Overflow用户

发布于 2013-10-06 14:21:32

您混淆了通过GET通过urls发送信息和用视图函数的参数格式化urls之间的混淆。假设我正在访问一个名为http://www.mysite.com/的站点,该页面的表单如下所示:

代码语言:javascript
复制
<form>
<input type='text' name='category' id='category'></input>
<button type='submit'>Send!</button>
</form>

单击后,url将自动更改为http://www.mysite.com/?category=<value of input>?标志着以后的一切都应该用<id>=<value>的语法作为GET数据来处理。然后,您可以这样访问它们:

代码语言:javascript
复制
def response(request):
    category = request.GET['category']

格式化url是不同的,因为它意味着查找作为url的部分的模式。例如,类似于r'^/(?P<category>\d+)/$'的模式将查找以下内容:http://www.mysite.com/<category>/,并将其作为附加参数发送到视图中的请求,如下所示:

代码语言:javascript
复制
def response(request, category):
    ...

regex用于定义如何识别url的这一部分。例如,您使用的\d+意味着这个类别需要是一个数字。您可以根据需要搜索如何定义不同类型的模式。

请注意,使用GET将数据发送到,与呈现当前正在访问的页面的相同的视图函数,而使用不同的url意味着告诉它在哪里通过urls.py (通常是不同的函数)。这会让事情变得更清楚吗?

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

https://stackoverflow.com/questions/19209745

复制
相关文章

相似问题

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