我有一个包含用户名和用户ID的模型。 我创建了一个视图,如果我尝试访问类型
的链接,将向我显示该信息page_type
我通过创建一个看起来像这样的简单视图来做到这一点。
serverAddress/users/<user_id>/
如果找到了我的数据库中不存在的用户ID,而不是显示 404页面找不到错误我想显示一个表单,以便新用户不存在id可以注册。
我该怎么做?
答案 0 :(得分:2)
为此,您无法使用get_object_or_404
方法。但您可以使用try...except
语句来捕获RegUser.DoesNotExist
异常。
编辑:固定代码。
def detail(request, user_uuid):
try:
user = RegUser.objects.get(user_uuid=user_uuid)
# do something
except RegUser.DoesNotExist:
return HttpResponseRedirect('/url/of/register/page/')
return render(request, 'accessManager/detail.html', {'user': user})
答案 1 :(得分:1)
按照上一个回答:它应该是
def detail(request, user_uuid):
try:
user = RegUser.objects.get(user_uuid=user_uuid)
except:
user = None
if user:
return render(request, 'accessManager/detail.html', {'user': user})
else:
return render(request, 'accessManager/new_user.html')