django url模式为%20

时间:2010-09-09 09:32:03

标签: django django-urls

在Django中,我需要使用哪种url模式来处理urlencode字符,例如%20

我正在使用(?P<name>[\w]+),但这只会处理字母数字字符,因此%会导致错误

4 个答案:

答案 0 :(得分:25)

我能够使用下面给出的配置使其工作。检查它是否符合您的需求。

(?P<name>[\w|\W]+)

答案 1 :(得分:22)

如果您只想留出空间:

(?P<name>[\w\ ]+)

答案 2 :(得分:1)

这样做的最佳方法是允许其他字符使用'\ s',即任何空格,制表符和新行

(?P<name>[\w\s]+)

答案 3 :(得分:1)

我正在使用Django 2.2。

它使用Path converter: str处理URL中的%20(表示空格)

您只需要使用:

<name> or <str:name>

例如,以下示例加载在view.py中定义的视图“ some_view”

#urls.py
from django.urls import path
from . import views
urlpatterns = [
   path("<name>",views.some_view),
   ....
]

以下函数在处理后呈现“ some.html”。在此示例中,将接收到的名称发送到“ some.html”。

#view.py
def some_view(request, name):
    # process here
    context = { "name" : name }
    return render(request,"some.html",context)