我一直在尝试重建一个社交网络,但在这个过程中,我发现当用户注销时有一个很大的错误,那就是TypeError 'AnonymousUser' object is not iterable。我尝试了不同的方法,比如使用if not request.user.is_authenticated():或'@login_required‘,但似乎都不起作用。我想说的是,如果一个未注册的用户试图查看一个页面,特别是主视图(主页),用户应该被重定向到登录页面。 views.py def home(request):
following, created = Following
如果请求缺少所需的字段,我希望我的端点抛出404状态代码,并带有类似于“参数foo not”之类的消息。因为我有太多的端点,所以添加3行代码(除了返回外,尝试)对我来说不是一个愉快的解决方案。这就是为什么我想从get_object_or_404中创建一个类似于django.shortcuts的函数,在这个函数中,请求返回404,而不只是引发异常和服务器崩溃。我所做的是:
class ParamNotFo