为了账号安全,请及时绑定邮箱和手机立即绑定

如何在Django中的views.py中生成UUID路径?

如何在Django中的views.py中生成UUID路径?

收到一只叮咚 2023-10-11 22:50:04
我想在views.py 中使用UUID 创建一个带有ID 的对象,然后直接从我创建它的视图文件中输入其特定路径。我得到的错误是:/item/create_item _reverse_with_prefix() 处的 TypeError * 之后的参数必须是可迭代的,而不是 UUID所以我想知道是否有人知道如何做到这一点?models.py:class Item(models.Model):    id = models.UUIDField(        primary_key=True, default=uuid.uuid4, editable=False)    name = models.CharField(max_length=100, blank=True)views.pydef create_item(request):    context = {}    if request.method == 'POST':        name = request.POST['name']        item = Item(name=name)        item.save()        return HttpResponsePermanentRedirect(reverse('item', args=(item.id)))    return render(request, 'items/item.html', context)def item(request, pk):    item = get_object_or_404(Item, pk=pk)        #Code to be written
查看完整描述

1 回答

?
回首忆惘然

TA贡献1847条经验 获得超11个赞

item.id您应该使用以下方法将 包装在单例元组中(…,):


return HttpResponsePermanentRedirect(reverse('item', args=(item.id,)))

然而,您可以使用redirect(…)函数 [Django-doc],它基本上将 a 的结果包装reverse(…)在 a 中HttpResponseRedirect(…),但这提供了一个带有位置参数和命名参数的接口:


from django.shortcuts import redirect


return redirect('item', pk=item.id, permanent=True)


查看完整回答
反对 回复 2023-10-11
  • 1 回答
  • 0 关注
  • 80 浏览
慕课专栏
更多

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信