Django URL,不同的正则表达式?

shim_

我的urlconf:

urlpatterns = patterns('',
    url(r'^$', 'ping.views.services', name='services'),
    url(r'^ajax/status/(?P<id>[-\d]+)', 'ping.views.ajx_status', name='ajx_status'),
    url(r'^ajax/status/(?P<type>[-\w]+)/(?P<id>[-\d]+)(?:\?callback=(?P<callback>[-\w]+)&[_=0-9]+)?$', 'ping.views.ajx_status', name='ajx_status'),
)

链接为: http://127.0.0.1:8000/ajax/status/jsonp/1?callback=jQuery110208076630807481706_1386460596798&_=1386460596799

输出:

def ajx_status(request, id, type,callback):
    print id,type,callback

日志:

1 jsonp None
/usr/local/lib/python2.7/dist-packages/django/db/models/fields/__init__.py:903: RuntimeWarning: DateTimeField Ping.timestamp received a naive datetime (2013-12-08 18:12:33.831348) while time zone support is active.
  RuntimeWarning)

[08/Dec/2013 18:12:34] "GET /ajax/status/jsonp/1?callback=jQuery110208076630807481706_1386460596798&_=1386460596799 HTTP/1.1" 200 433

“原始” python中的文本有效:

import re

regex = re.compile(r"^/ajax/status/(?P<type>[-\w]+)/(?P<id>[-\d]+)(?:\?callback=(?P<callback>[-\w]+)&[_=0-9]+)?")

r = regex.search("/ajax/status/jsonp/1?callback=jQuery110208076630807481706_1386460596798&_=1386460596799")

r.groupdict()

{'callback': 'jQuery110208076630807481706_1386460596798', 'type': 'jsonp', 'id': '1'}

Google好奇了几个小时,发现Django与python中的url不一致。任何想法如何不起作用,回调始终为None?

布鲁诺·德舒利耶

仅URL的路径部分与urlpattern匹配。查询字符串在视图中可用request.GET

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

正则表达式Django URL

来自分类Dev

正则表达式Django URL

来自分类Dev

Django:命名为Url /相同的正则表达式,不同的名称

来自分类Dev

Django URL中的正则表达式错误

来自分类Dev

Django url正则表达式未匹配

来自分类Dev

Django URL模式顺序和正则表达式

来自分类Dev

Django:如何读取嵌套的URL正则表达式

来自分类Dev

Django URL中的正则表达式

来自分类Dev

在正则表达式Django URL中写'-'

来自分类Dev

Django中的正则表达式URL

来自分类Dev

Django正则表达式URL不起作用

来自分类Dev

Django URL正则表达式未捕获Int

来自分类Dev

在Django url正则表达式中消失`+`

来自分类Dev

领域的Django正则表达式

来自分类Dev

Django Charfield正则表达式

来自分类Dev

django1.8在url.py中具有url的正则表达式

来自分类Dev

为什么我的正则表达式无法在Django中解析此URL?

来自分类Dev

Django url正则表达式终止$不匹配路由

来自分类Dev

Django URL中正则表达式的全局变量

来自分类Dev

在Django URL中表现出奇怪的正则表达式

来自分类Dev

Django URL的正则表达式中的r''和r'^ $'有什么区别?

来自分类Dev

在Django URL中以正则表达式传递电子邮件

来自分类Dev

Django URL中用于自引用模块的正则表达式

来自分类Dev

Django URL在正则表达式中使用字符串

来自分类Dev

多个参数的Django URL,视图,正则表达式配置

来自分类Dev

Django REST框架url正则表达式模式不匹配

来自分类Dev

Django:与 URL 中的正则表达式无反向匹配

来自分类Dev

用于字母数字字符串的 Django URL 正则表达式

来自分类Dev

Django的网址模式正则表达式