【问题标题】:How Django accepts forward slash in a string at URL'sDjango 如何在 URL 的字符串中接受正斜杠
【发布时间】:2015-02-05 14:28:51
【问题描述】:
value = "hjhj/dfdfd/dfdll=="

我正在向 django 发送一个 jQuery 请求,例如 /me/accept/{{value}}

Django 网址:

url(r'^me/accept/(.*)$', 'app.views.function'),

(.*) 正则表达式不再起作用,意味着值无法识别

我尝试过的以下正则表达式

  • [^=]+
  • .*

我尝试了很多案例,最后都失败了。请指导我 django url 如何接受正斜杠并将值作为字符串

【问题讨论】:

  • Django 没有做任何特别的事情,它只是使用标准的 Python 正则表达式,而且你的正则表达式看起来没有任何问题。您确定您发送的格式正确吗?也许您应该发布您的 jQuery 代码,以及完整的 urls.py。
  • “不再工作”是指 app.views.function 没有被调用吗?或者您的意思是您不再获得匹配值的参数?如果是第二个,将(.*)改写为(?<param_name>.*)
  • @Selcuk 我之前尝试过你建议的链接..但它不起作用,然后我在这个空间发布了问题
  • @dylrei 我的意思是不再获取匹配值的参数

标签: django django-urls


【解决方案1】:

试试这个语法,它应该可以从 URL./me/accept/(?P<value>\d+)/$ 获取值。该值可以在您的关联视图中使用变量名称valued+ 表示斜线后面的所有字符作为值。除了加号之外,您还可以提及一个数字来指定您需要多少个字符,例如 /me/accept/(?P<id1>\d[2]) 以获取斜线后的 2 个字符作为值。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2018-02-27
    • 2021-09-15
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2010-10-02
    • 1970-01-01
    相关资源
    最近更新 更多