我目前正在定义正则表达式,以便捕获URL中的参数,如教程中所述。我如何访问参数从URL作为HttpRequest对象的一部分?
我的HttpRequest。GET当前返回一个空的QueryDict对象。
我想学习如何在没有库的情况下做到这一点,这样我就可以更好地了解Django。
我目前正在定义正则表达式,以便捕获URL中的参数,如教程中所述。我如何访问参数从URL作为HttpRequest对象的一部分?
我的HttpRequest。GET当前返回一个空的QueryDict对象。
我想学习如何在没有库的情况下做到这一点,这样我就可以更好地了解Django。
当前回答
views.py
从rest_framework。response import响应 Def update_product(请求,pk): 返回响应({“pk”:pk})
Pk表示主键。
urls . py
从产品。视图导入update_product django。url导入路径 Urlpatterns = [ …, 路径(更新/产品/ < int: pk >”,update_product) ]
其他回答
如果你不知道参数的名称,想要使用它们,你可以使用request.GET.keys()或dict(request.GET)函数
views.py
从rest_framework。response import响应 Def update_product(请求,pk): 返回响应({“pk”:pk})
Pk表示主键。
urls . py
从产品。视图导入update_product django。url导入路径 Urlpatterns = [ …, 路径(更新/产品/ < int: pk >”,update_product) ]
这并不是您所需要的,但是这段代码有助于管理模板中的query_strings。
Url参数可能被request.query_params捕获
你不妨检查一下请求。META字典可以访问很多有用的东西 PATH_INFO, QUERY_STRING
# for example
request.META['QUERY_STRING']
# or to avoid any exceptions provide a fallback
request.META.get('QUERY_STRING', False)
你说它返回空的查询字典
我认为你需要调整你的url接受必要或可选的args或kwargs Django为你提供了处理后悔的所有能力,比如:
url(r'^project_config/(?P<product>\w+)/$', views.foo),
更多信息请访问django-optional-url-parameters