【发布时间】:2011-04-10 04:13:05
【问题描述】:
在 Django 中,我需要使用什么 url 模式来处理 urlencode 字符,例如 %20
我正在使用(?P<name>[\w]+),但这仅处理字母数字字符,因此 % 会导致错误
【问题讨论】:
标签: django django-urls
在 Django 中,我需要使用什么 url 模式来处理 urlencode 字符,例如 %20
我正在使用(?P<name>[\w]+),但这仅处理字母数字字符,因此 % 会导致错误
【问题讨论】:
标签: django django-urls
我正在使用 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)
【讨论】:
做到这一点并允许其他字符的最佳方法是使用“\s”,即任何空格、制表符和换行符
(?P<name>[\w\s]+)
【讨论】:
如果你只想留出空间:
(?P<name>[\w\ ]+)
【讨论】:
我能够使用下面给出的配置使其工作。检查它是否适合您的需求。
(?P<name>[\w|\W]+)
【讨论】:
. 不会容易得多