如何处理查询“?”在我的Django网址.py

2024-09-28 01:32:05 发布

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

我是Django新手。我得写一支烟。我的服务器将查看特定的地址。 像这样:

portal/client_api.ashx?client=SAPRA&key=1234234&func=status&code=99999

我写道:

在网址.py在

from django.conf.urls import patterns, url
from rt_moke import views
urlpatterns = patterns('',
    url(r'code=(?P<code_id>\w+)/', views.Sapata, name='sapata'),
    )

以及视图.py在

^{pr2}$

当我请求不带?标记的portal/client_api.ashx?client=SAPRA&key=1234234&func=status&code=99999时,它起作用了,而带有?-不起作用。我知道,它是查询字符串,Django在regexp中跳过它。那我能做什么呢?在


Tags: djangokeyfrompyimportclientapiurl
1条回答
网友
1楼 · 发布于 2024-09-28 01:32:05

此URL:

portal/client_api.ashx?client=SAPRA&key=1234234&func=status&code=99999

有两部分,路径:

^{pr2}$

以及查询字符串:

client=SAPRA&key=1234234&func=status&code=99999

它被解析为request.GET。在

views.py中,您应该从请求中获取参数(就像request.GET中的简单dict),例如:

def test(request):
    code = request.GET.get('code') # here we try to get 'code' key, if not return None
    ...

当然,我们不能使用GET params来解析urls.py中的url。你的cd4看起来应该是:

from django.conf.urls import patterns, url
from rt_moke import views

urlpatterns = patterns('',
    url(r'^portal/client_api\.ashx$', views.Sapata, name='sapata'),
)

请注意,不要在函数名称中使用大写字母。在

相关问题 更多 >

    热门问题