我有一个django网址
url(r'^my/url/(?P<number>[0-9]{10})/$',My.as_view()),
,请求网址为
my/url/?number=9876543210
视图是JSONResponseView
class My(JSONResponseView):
def __init__(self,*args,**kwargs):
super(SendMobileLinkResponse,self).__init__(self,**kwargs)
def get(self,request, *args, **kwargs):
return self.render_to_response({"test": "uu"})
我的网址是404?
答案 0 :(得分:2)
请试试这个:
my/url/9876543210
Django相信(其中我也相信)干净的URL。所以你的正则表达式正在赶上
my/url/9876543210
而不是
my/url/?numbers=9876543210
答案 1 :(得分:1)
正如Rexford在回答中所说,使用Django,您通常会避免在网址中使用get参数,而是使用类似/my/url/9876543210/
的内容。
如果您确实想使用GET参数,请不要将它们包含在您的网址格式中。
url(r'^my/url/$',My.as_view()),
您可以在视图中访问GET参数:
def get(self,request, *args, **kwargs):
number = self.request.GET.get('number', '') # default to ' '
return self.render_to_response({"number": number})