【发布时间】:2017-06-18 20:50:04
【问题描述】:
我不断收到错误“分配前引用的局部变量'用户'”。我正在尝试在此函数中复制 user = 代码行:
def profile_view(request, username):
user = get_object_or_404(User, username=username)
使用此功能,您可以在最后一行看到:
def like_user(request, id):
pending_like = get_object_or_404(User, id=id)
user_like, created = UserLike.objects.get_or_create(user=request.user)
user = get_object_or_404(User, username=user.username)
但是,由于我没有将用户名传递到函数中,所以我尝试使用 user.username 但我收到错误“在分配之前引用了局部变量'用户'”。解决这个问题的最好方法是什么?我做错了吗?我应该尝试传递用户名吗,因为当我这样做时,我收到错误“like_user() 恰好需要 3 个参数(给定 2 个)”。对不起,对 django 很陌生,任何帮助将不胜感激!
谢谢
【问题讨论】:
-
但这根本没有任何意义。您还没有获取用户,那么如何使用其用户名来执行获取该用户的操作呢?
-
更不用说,
pending_like和request.user都是 User 的实例,所以不清楚为什么需要进行另一个查询来获取另一个 User 实例。 -
您好,抱歉,让我创建一个新帖子并将其余代码放入其中。