2017-07-10 89 views
0

我是Django的新手,想知道如何从url获取变量。我曾经尝试这样做:如何从Django url获取变量

url(r'^(?P<name>)/$', employeedetail, name='employeedetail'), 

都到这个观点

def employeedetail(request, name): 
    return render(request, 'employee/detail.html') 

,但我得到一个错误:employeedetail()失踪1人需要的位置参数: '名'

是代码错误或者我需要以特定的方式输入网址?

+0

嗨!欢迎来到Stack Overflow。在django文档中找到最好的地方。你有没有通过教程? –

+0

我有,但我找不到问题。 @The_Cthulhu_Kid –

回答

3

你的正则表达式是错误的;你还没有提供任何匹配的字符。它应该是这样的:

r'^(?P<name>\w+)/$ 

它匹配所有字母数字字符。

0

尝试使用以下解决方案

在你的urls.py

对于字符串参数中的URL使用以下语法

url(r'^(?P<name>[\w\-]+)/$',employeedetail, name='employeedetail') 

这甚至将允许串在你的URL传递。

并获得命名参数在你看来

def employeedetail(request, name): 
    print name 
    return render(request, 'employee/detail.html') 

希望这将帮助你