我不断收到错误“在分配前引用的局部变量'用户'”。我正在尝试在此函数中复制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很新,任何帮助都会受到大力赞赏!
谢谢
答案 0 :(得分:0)
尝试request.user.username
而不是user.username
它应该工作
答案 1 :(得分:0)
def profile_view(request, username):
user = get_object_or_404(User, username=username)
如果这是一个视图功能,并且您打算查看其他人的个人资料,那么您必须在urls.py中进行更改:
urlpatterns = [
url(r'^profile/(?P<username>[\w]+)$', profile_view),
# you have to pass the parameter in the url
]
否则很难理解你想做什么