所以我现在正在研究这个问题几天,我似乎仍然不明白这个问题。我正在尝试在网址中获取用户名,以便您可以在键入http://127.0.0.1:8000/accounts/profile/username时查找任何用户并显示用户个人资料。我已经看了其他问题,但是当我尝试时,我一直收到这个错误。如果有人能帮助我,我将不胜感激。
/ accounts / profile / admin的NoReverseMatch 使用参数'('',)找不到'viewprofile'的反转。尝试了1种模式:['accounts / profile /(?P [\ w。@ + - ] +)']
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>[\w.@+-]+)', views.view_profile, name="viewprofile"),
答案 0 :(得分:0)
您在上下文中提供了user
密钥,您在模板中使用了username
。也许这就是问题。
答案 1 :(得分:0)
如果失败请尝试匹配的网址,请尝试以下操作:
url(r'profile/(?P<username>[a-zA-Z0-9]+)$', views.view_profile, name="viewprofile"),