【发布时间】:2018-10-18 07:58:10
【问题描述】:
当我尝试创建帖子时,它会显示此错误
Exception Type: AttributeError at /home/
Exception Value: 'HomeView' object has no attribute 'user'
我的 view.py 是
class HomeView(TemplateView):
template_name = 'home/home.html'
def get(self, request):
form = HomeForm()
posts = Post.objects.all().order_by('-created')
users = User.objects.exclude(id=request.user.id)
friend = Friend.objects.get(current_user=request.user)
friends = friend.users.all()
args = {
'form': form, 'posts': posts, 'users': users, 'friends': friends
}
return render(request, self.template_name, args)
@login_required
def post(self, request):
if request.method == 'POST':
form = HomeForm(request.POST or None, request.FILES or None)
if form.is_valid():
post = form.save(commit=False)
post.user = request.user
post.save()
return redirect('home:home')
else:
return redirect(reverse('home:home'))
else:
form = HomeForm()
args = {'form': form}
return render(request, self.template_name, args)
追溯:
文件 “/home/zola/lib/python3.5/site-packages/django/core/handlers/exception.py” 在内部 39. response = get_response(request)
文件 “/home/zola/lib/python3.5/site-packages/django/core/handlers/base.py” 在 _get_response 187. response = self.process_exception_by_middleware(e, request)
文件 “/home/zola/lib/python3.5/site-packages/django/core/handlers/base.py” 在 _get_response 185. response = Wrapped_callback(request, *callback_args, **callback_kwargs)
文件 “/home/zola/lib/python3.5/site-packages/django/views/generic/base.py” 在视野中 68. return self.dispatch(request, *args, **kwargs)
文件 “/home/zola/lib/python3.5/site-packages/django/views/generic/base.py” 在调度中 88. return handler(request, *args, **kwargs)
文件 “/home/zola/lib/python3.5/site-packages/django/contrib/auth/decorators.py” 在 _wrapped_view 22. if test_func(request.user):
请帮忙
我已经失踪很久了。使用这种语言。然后帮我解决这个错误
【问题讨论】:
-
哪一行导致了问题?
-
你能添加 urls.py 和完整的回溯吗?
-
post.user=request.user -
你的 Post 模型有用户属性吗?
-
我认为这里没有包含有错误的代码部分。请包括完整的代码和完整的回溯。