2017-07-10 133 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') 

希望這將幫助你