无法从u打印参数

2024-09-27 07:22:32 发布

您现在位置:Python中文网/ 问答频道 /正文

我正在尝试将js请求中的4个参数读入django应用程序。我就是这样做js请求的:

site = "http://127.0.0.1:8000/products/loginfo/" + account + "?userId=" + userId + "&sessionId=" + sessionId + "&url=" + url; 
httpGet(site);

这是url.py中的url:

url(r'^loginfo/(?P<siteid>[0-9])/(?P<userdid>)/(?P<sessionid>)/(?P<url>)/$', 'log_info', name='log_info'),

这是views.py中的视图:

def log_info(request,siteid,userdid,sessionid,url):
print  'siteid' + str(siteid)
print 'userid ' + str(userid)
print 'sessionid ' + str(sessionid)
print 'url ' + str(url)
return render_to_response("products/all.html", locals(), context_instance=RequestContext(request))

但是,我知道终端上什么也没印,怎么了


Tags: pyinfologurljssiteproductsprint
1条回答
网友
1楼 · 发布于 2024-09-27 07:22:32

问题是url.py中的url模式与您输入的url不匹配

您可以直接使用^{} dictionary来读取查询参数

为此,将url模式更改为

url(r'^loginfo/(?P<siteid>[0-9]+)', 'log_info', name='log_info'),
  • ^loginfo/(?P<siteid>[0-9]+)匹配loginfo,后跟任意数字

这确保了如果url有loginfo/1234,它将被重定向到log_info,其中1234作为siteid

现在将视图更改为

def log_info(request,siteid):
    print  'siteid' + str( siteid )

    # Changes made here.

    print 'userid ' + request.GET[userId]
    print 'sessionid ' + request.GET[sessionId]
    print 'url ' + request.GET[url]
    return render_to_response("products/all.html", locals(), context_instance=RequestContext(request))

相关问题 更多 >

    热门问题