当我试图创建一个帖子时,它会显示这个错误
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-pack/django/core/handler/exception.py"在内部39.响应=get_response(请求)
文件“/home/zola/lib/python3.5/site-packages/django/core/handlers/base.py”位于_get_response 187.response=self中。进程异常中间件(e,请求)
文件“/home/zola/lib/python 3.5/site-packages/django/core/handlers/base . py”in _ 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中。分派(请求,*args,**kwargs)
在调度88中提交“/家/佐拉/库/python3.5/站点包/django/视图/通用/基地.py”。返回处理程序(请求, *args, **kwargs)
文件“/家/zola/lib/python3.5/site-packages/django/contrib/auth/装饰器.py”,_wrapped_view 22。如果test_func(请求用户):
请帮忙
我已经失踪很久了。使用这种语言。那就帮我纠正这个错误
不要使用@login_required
装饰器,而是在post方法上使用@method_decorator(login_required)
,如下所示:
from django.contrib.auth.decorators import login_required
from django.utils.decorators import method_decorator
class HomeView(TemplateView):
# ...
@method_decorator(login_required)
def post(self, request):
# ...
您看到错误消息的原因是因为<code>login_required</code>是一个函数修饰符,所以它希望<code>request</code>对象是传递给视图的第一个参数。您的<code>post</code>定义是一个方法,因此<code>self</code>(<code>HomeView</code>)是传递的第一个参数,这就是<code>login_required</code>试图用作Request实例的原因。
method_decorator
用于将每个函数装饰器转换为方法装饰器。有关详细信息,请参阅文档。
您好,我正在建立一个动物园微服务,包括动物、员工、客户和价格表。我的动物微服务可以工作,但在我的员工微服务中,我遇到了一个错误,即没有为类型“EmployeeModel”找到属性“name”。在问这个问题之前,我已经在网上搜索了几个小时,还有一些类似的问题。我在模型中没有“名字”employee_name,我只是感到困惑,不知道如何修复它。任何指导/建议/信息将不胜感激:)第一次发布,所以我希望我
我一直试图通过ArrayList在Servlet的帮助下在JSP内部打印ResultSet。JDBC部分似乎没有问题。ArrayList可以在JSP内部获得并打印。但是当我想用标记迭代传递到JSP上的列表时,它说我的bean类'purejavaclasses.EmployeeClass'没有属性'id'。我已经尝试了很多不同的解决方案,但都是徒劳的。我不知道该怎么做。我是一个完全的JavaEE初学
RegisterModel类是 RegisterHandler类
问题内容: 那么是否可以仅针对最特定的类获取属性的字典/列表?到目前为止,我正在使用 但这也将给我提供超类中定义的服装。有什么办法可以避免这种情况? 问题答案: 摘自python文档 类具有由字典对象实现的名称空间。类属性引用将转换为此字典中的查找,例如Cx被转换为C . dict [“ x”](尽管特别是对于新式类,有许多允许使用其他方式定位属性的钩子)。如果找不到属性名称,则在基类中继续搜索属
问题内容: 我收到以下错误: 类型对象“ datetime.datetime”没有属性“ datetime” 在下一行: 有人知道错误的原因吗? 我导入日期时间是否有帮助 谢谢 问题答案: 日期时间是一个允许处理日期,时间和日期时间(所有都是数据类型)的模块。这意味着它既是顶级模块,又是该模块中的一种类型。这很令人困惑。 您的错误可能是基于模块的混乱命名,而您或您正在使用的模块已经导入了。 但是,
我的代码返回这个错误"'NoneType对象没有属性'发送'" 这是我的密码 导入discord从discord导入操作系统。ext导入命令 客户=不和谐。客户() 类日志记录(commands.Cog):“为您设置日志记录” def设置(客户端):客户端。添加_cog(日志记录(客户端)) 我是在我的齿轮,而不是在主要。派克