2017-05-02 37 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 –