2017-05-24 34 views
0

我需要在我的Django Url模式中传递像b'//[email protected]//x00//xf0//x7f//xff//xff//xfd//x00'这样的令牌。我无法找到匹配的正则表达式导致Page not found错误。Django Url模式令牌的正则表达式

我的网址会像/api/users/0/"b'//[email protected]//x00//xf0//x7f//xff//xff//xfd//x00'"/

我有以下的正则表达式

url(r'^api/users/(?P<username>[\w\-]+)/(?P<paging_state>[\w.%+-][email protected][A-Za-z0-9.-]+\.[A-Za-z]{2,4})/$', views.getUserPagination),

回答

0

试图请传入请求头部或身体的令牌,然后在您的视图相应地使用。

0

考虑有在您的网址一些静态预测的元素,比如 -

  1. API /用户/
  2. /“B之前
  3. ”/在后“

所以结束我可以通过以下两种方法中的任何一种查看网址。正则表达式的相应提到:

  1. api/users/(一组字,数字或连字符)/"(除换行符任何字符)"/

    正则表达式:^api\/users\/([\w\d\-]+)\/"(.*)"\/$

    网址:url(r'^api\/users\/([\w\d\-]+)\/"(.*)"\/$', views.getUserPagination),

  2. api/users/(组词语,数字或连字符)/"(一个字符-b)的'//(任何没有。字或数字)@(单词或数字).的任何没有(任何没有词或数字)的(即,数字,前斜线)'"/

    的任何无。正则表达式:^api\/users\/([\w\d\-]+)\/"([a-g]'\/\/[\w\d]*@[\w\d]*.[\w\d]*[\/\w\d]*')"\/$

    网址:url(r'^api\/users\/([\w\d\-]+)\/"([a-g]'\/\/[\w\d]*@[\w\d]*.[\w\d]*[\/\w\d]*')"\/$', views.getUserPagination),

您应该可以使用上述两者之一。可以通过多种方式来匹配网址中的令牌部分。所以除非这是一个很大的安全问题,否则你可以用第1点提到的最简单的方法来做。