在Urls的Views中接收字符串

时间:2015-11-24 20:48:29

标签: python django

我想做的就是通过考拉2-2'从url到视图的字符串。目前它在网站名称中返回一个空白字符串。

The URL:
http://127.0.0.1:8000/site/koala 2-2

urls.py:
url(r'^site/(?P<sitename>)', site),

views.py
def site(request, sitename'):
    return HttpResponse('sitename: {}'.format(request))

2 个答案:

答案 0 :(得分:0)

您必须使用(...)来捕捉您想要的内容。在您的情况下,使用(.+)捕获所有内容。

您的网址也有错误:没有空间
然后使用:

http://127.0.0.1:8000/site/koala-2-2

并使用以下内容捕获koala-2-2

url(r'^site/(?P<sitename>(.+)', site),

如果您想要更具体的内容,(例如:仅允许使用单词字符和-,请使用以下内容:

url(r'^site/(?P<sitename>([\w-]+)', site),

答案 1 :(得分:0)

感谢您的帮助,以下是最终的解决方案:

urls.py:
url(r'^site/(?P<sitename>(.+))', site),


views.py:
def site(request, sitename):
    return HttpResponse('sitename: {}'.format(sitename))

它似乎并不关心那里的空间,它无论如何都能正确地返回字符串。 在我发布之前,我搜索了大约3个小时的答案,https://docs.djangoproject.com/en/1.8/topics/http/urls/有答案,但我多次错过了。我当然希望他们能使用不太复杂的例子。