Django URL View参数帮助

时间:2011-04-17 05:24:58

标签: django url

我在尝试将URL中的字符串传递给视图时遇到了一些麻烦。我的页面有用户页面,如果你转到site.com/username,它会显示该用户页面。但是当我尝试去的时候会说:[无效的文字为int(),基数为10:'用户名']。

这是我的代码:

urls.py:

(r'^user/(?P<userName>[^/]+)/$', 'mischief_blog.mischief_app.views.user_view'),

views.py:

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))

1 个答案:

答案 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))