我在尝试将URL中的字符串传递给视图时遇到了一些麻烦。我的页面有用户页面,如果你转到site.com/username,它会显示该用户页面。但是当我尝试去的时候会说:[无效的文字为int(),基数为10:'用户名']。
这是我的代码:
(r'^user/(?P<userName>[^/]+)/$', 'mischief_blog.mischief_app.views.user_view'),
def user_view(request, userName):
postList = userPost.objects.filter(author=userName)
return render_to_response('user.html', {"user": user_name, "postList": postList}, context_instance=RequestContext(request))
答案 0 :(得分:2)
从网址获取名称:
(r'^user/(?P<userName>\w+)/$', 'mischief_blog.mischief_app.views.user_view'),
从名称中获取用户,然后从用户处获取帖子:(get_object_or_404)和(User)
from django.shortcuts import get_object_or_404
from django.contrib.auth.models import User
def user_view(request, userName=None):
user = get_object_or_404(User, username=userName)
postList = userPost.objects.filter(author=user)
return render_to_response('user.html', {"user": user, "postList": postList}, context_instance=RequestContext(request))