如何在 url 中将 # 作为参数传递给 django 2
How to pass # in url as a parameter in django 2
我正在尝试传递代码 "Req-2019#000001" Django URL。我想将此代码以及普通字符串和数字也作为参数传递给 URL。
path('generateBomForSingleProduct/<requisition_no>/' , views.generateBomForSingleProduct, name='generateBomForSingleProduct'),
它工作正常,但问题是它在 #
之前添加了额外的 /
我的 URL 现在是这个
http://127.0.0.1:8000/production/generateBomForSingleProduct/Req-2019/#000001
但我想点赞
http://127.0.0.1:8000/production/generateBomForSingleProduct/Req-2019#000001
在我的 "#"#"
之前没有多余的 "/"
#
之后的部分称为片段标识符,由浏览器使用,不会发送到服务器。
In http://127.0.0.1:8000/production/generateBomForSingleProduct/Req-2019/#000001
url 000001
永远不会发送到服务器。因此,在 #
之后使用 url 的重要部分是无用的。最好将 000001
作为查询参数或单独的参数传递。
#
符号后的 URL 部分通常不会在请求中发送到服务器页。所以,不可能有 URL 作为 /production/generateBomForSingleProduct/Req-2019#000001
解决方法
只需将url修改为/production/generateBomForSingleProduct/Req-2019/000001
,因此您还需要修改视图
# views.py
def generateBomForSingleProduct(request, part_1, part_2):
unique_id = "{}#{}".format(part_1, part_2)
# use the "unique_id"
...
#urls.py
urlpatterns = [
...,
path('foo/<part_1>/<part_2>/', generateBomForSingleProduct, name="some-name"),
...
]
使用 'get' 是执行此操作的正确方法。 #
用于 html 片段,这些片段不会发送到服务器。为什么不能只是
/production/generateBomForSingleProduct/Req-2019?code=000001
然后你以这种方式处理视图中的所有内容?
我正在尝试传递代码 "Req-2019#000001" Django URL。我想将此代码以及普通字符串和数字也作为参数传递给 URL。
path('generateBomForSingleProduct/<requisition_no>/' , views.generateBomForSingleProduct, name='generateBomForSingleProduct'),
它工作正常,但问题是它在 #
之前添加了额外的 /我的 URL 现在是这个
http://127.0.0.1:8000/production/generateBomForSingleProduct/Req-2019/#000001
但我想点赞
http://127.0.0.1:8000/production/generateBomForSingleProduct/Req-2019#000001
在我的 "#"#"
之前没有多余的 "/"#
之后的部分称为片段标识符,由浏览器使用,不会发送到服务器。
In http://127.0.0.1:8000/production/generateBomForSingleProduct/Req-2019/#000001
url 000001
永远不会发送到服务器。因此,在 #
之后使用 url 的重要部分是无用的。最好将 000001
作为查询参数或单独的参数传递。
#
符号后的 URL 部分通常不会在请求中发送到服务器页。所以,不可能有 URL 作为 /production/generateBomForSingleProduct/Req-2019#000001
解决方法
只需将url修改为/production/generateBomForSingleProduct/Req-2019/000001
,因此您还需要修改视图
# views.py
def generateBomForSingleProduct(request, part_1, part_2):
unique_id = "{}#{}".format(part_1, part_2)
# use the "unique_id"
...
#urls.py
urlpatterns = [
...,
path('foo/<part_1>/<part_2>/', generateBomForSingleProduct, name="some-name"),
...
]
使用 'get' 是执行此操作的正确方法。 #
用于 html 片段,这些片段不会发送到服务器。为什么不能只是
/production/generateBomForSingleProduct/Req-2019?code=000001
然后你以这种方式处理视图中的所有内容?