网址转发到右侧页面,但在页面上,当用户名有一个点时,它会出现404错误。有没有办法处理这个问题,还是应该转发ID?这样做的正确方法是什么?
url.py
url(r'profile/(?P<username>[-\w.]+)$', views.get_user_profile, name='user_profile'),
views.py
def get_user_profile(request, username):
user = User.objects.get(username=username)
render (request, 'pages/user_profile.html', {"user":user})
答案 0 :(得分:0)
在你的urls.py中:
url(r'profile/(?P<pk>[0-9]+)$', views.get_user_profile, name='user_profile)
在观点中:
def get_user_profile(request, pk):
user = User.objects.get(pk=pk)
render (request, 'pages/user_profile.html', {"user":user})
另一种方法是将用户名作为get参数发送:
www.yourapp.com?username=abc
然后在观点中:
def get_user_profile(request):
username = request.GET.get('username')
user = User.objects.get(username=username) # need to catch error if not found
render (request, 'pages/user_profile.html', {"user":user})