Python 如何在Django的views.py中生成UUID路径?
我想在views.py中使用UUID创建一个ID为的对象,然后直接从创建它的视图文件中输入它的特定路径。我得到的错误是: 在/item/create_item处键入错误 _*后面带有前缀()参数的反向\u必须是iterable,而不是UUID 所以我想知道是否有人知道如何做到这一点 models.py:Python 如何在Django的views.py中生成UUID路径?,python,django,uuid,Python,Django,Uuid,我想在views.py中使用UUID创建一个ID为的对象,然后直接从创建它的视图文件中输入它的特定路径。我得到的错误是: 在/item/create_item处键入错误 _*后面带有前缀()参数的反向\u必须是iterable,而不是UUID 所以我想知道是否有人知道如何做到这一点 models.py: class Item(models.Model): id = models.UUIDField( primary_key=True, default=uuid.uuid4
class Item(models.Model):
id = models.UUIDField(
primary_key=True, default=uuid.uuid4, editable=False)
name = models.CharField(max_length=100, blank=True)
views.py
def 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
您应该使用
(…,)
将项.id
包装在一个单元组中:
您应该使用
(…,)
将项.id
包装在一个单元组中:
return HttpResponsePermanentRedirect(reverse('item', args=(item.id,)))
from django.shortcuts import redirect
return redirect('item', pk=item.id, permanent=True)