2017-05-02 60 views
-2

因此我已經在這裏工作了幾天了,而且我似乎仍然不明白這個問題。我試圖在URL中獲取用戶名,這樣如果您鍵入http://127.0.0.1:8000/accounts/profile/username並且用戶配置文件顯示出來,您可以查找任何用戶。我已經看過其他問題,但是當我嘗試時我總是收到這個錯誤。如果有人可以幫助我,我將不勝感激。在網址中輸入用戶名

NoReverseMatch at/accounts/profile/admin 未找到'''',''的'viewprofile'。 1個圖案(多個)嘗試:[ '賬戶/簡檔/(P [\瓦特@ + - ] +?)']

views.py

def view_profile(request, username): 
    username = User.objects.get(username=username) 
    posts = Post.objects.filter(author = request.user).order_by('-pub_date') 
    args = { 
    'user': request.user, 
    'posts': posts, 

    } 
    return render(request, 'accounts/profile.html', args) 
在我的導航欄

:此可能是錯誤的,但我確定它的權

<li><a href="{% url 'accounts:viewprofile' username%}">Profile</a></li> 

urls.py

url(r'^profile/(?P<username>[\[email protected]+-]+)', views.view_profile, name="viewprofile"), 
+0

你想訪問什麼網址? –

+0

http://127.0.0.1:8000/accounts/profile/admin,那裏的網址。我創建了一個名爲admin的帳戶,所以我只是想通過帳戶/個人資料/管理員或甚至使用不同的帳戶查看個人資料,我想通過帳戶/個人資料/ admin2來查看它 – Mohamed

+0

您的錯誤表明「用戶名'在該模板標籤有一個空值,也許你可以告訴我們的視圖呈現導航欄,所以我們可以給出準確的答案 –

回答

0

你給喲user關鍵你的上下文,你在你的模板中使用username。也許這就是問題所在。

+0

不,已經嘗試過,並且我得到了相同的錯誤 – Mohamed

+1

所以請更新您的問題,因爲作爲你問,這個問題就是我指出的。 – albar

0

其中你想匹配,如果失敗,請嘗試這樣做的URL:

url(r'profile/(?P<username>[a-zA-Z0-9]+)$', views.view_profile, name="viewprofile"), 
+0

我得到完全相同的錯誤 – Mohamed

+0

也許這可以幫助:http://stackoverflow.com/a/33724573/6925077 –