Reputation: 1507
I have a django URL
url(r'^my/url/(?P<number>[0-9]{10})/$',My.as_view()),
and the request URL is
my/url/?number=9876543210
The view is a 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"})
I am getting a 404 for the the url?
Upvotes: 0
Views: 639
Reputation: 309039
As Rexford says in their answer, with Django you would normally avoid using get parameters in your url, and use something like /my/url/9876543210/
instead.
If you do want to use GET parameters, don't include them in your url pattern.
url(r'^my/url/$',My.as_view()),
You can access the GET parameters in the view:
def get(self,request, *args, **kwargs):
number = self.request.GET.get('number', '') # default to ' '
return self.render_to_response({"number": number})
Upvotes: 1
Reputation: 9537
Please try this:
my/url/9876543210
Django believes in (of which I've also come to believe in) clean URLs. So your regex is catching
my/url/9876543210
instead of
my/url/?numbers=9876543210
Upvotes: 2