[英]UnboundLocalError: Local variable 'user' referenced before assignment
[英]UnboundLocalError at / local variable 'user' referenced before assignment
我正在使用django-favorite, https: //bitbucket.org/last_partizan/django-favorites并尝试显示“仅获取用户的博客文章收藏夹”策略以获取我的收藏夹。 在文档中,它说
content_type = get_object_or_404(ContentType, app_label='myblogapp', model='blogpost')
favs = Favorite.objects.favorites_for_user(user).filter(content_type=content_type)
会做的工作。 所以在我的views.py中,我添加了
def index(request):
user = MyProfile.objects.get(username=user)
categories = Category.objects.all()
try:
sort = request.GET["sort"].strip()
sort_method = SortMethods[sort]
page = request.GET["page"].strip()
except KeyError:
sort_method = SortMethods.score
page = 1
if sort_method == SortMethods.date:
post_list = Post.objects.order_by("-pub_date")
else:
post_list = Post.objects.all()
post_list = sorted(post_list, key=lambda x: x.get_score(), reverse=True)
paginator = Paginator(post_list, 30)
try:
posts = paginator.page(page)
except PageNotAnInteger:
posts = paginator.page(1)
except EmptyPage:
posts = paginator.page(paginator.num_pages)
content_type = get_object_or_404(ContentType, app_label='main', model='post')
favs = Favorite.objects.favorites_for_user(user).filter(content_type=content_type)
context = {
"posts": posts,
"pages": paginator.page_range,
"sort": sort_method.name,
"categories":categories,
"favs":favs,
}
return render(request, "main/index.html", context)
并在我的index.html中使用该收藏夹,我只是简单地输入了{{fav}},我什至不知道这是调用收藏夹的正确方法。 但我尝试过,现在它在/下给了我UnboundLocalError
来自`user = MyProfile.objects.get(username = user)的赋值之前引用的局部变量'user'
`我有userena应用程序,在userena模型中
class MyProfile(UserenaBaseProfile):
user = models.OneToOneField(User,
unique=True,
verbose_name=_('user'),
related_name='my_profile')
intro = models.CharField(_('intro'),
max_length=5, default="Hello")
我从这里打电话来吸引用户...我希望这是正确的。
第一行应该使用:
request.user
像这样:
user = MyProfile.objects.get(username=request.user)
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.