Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/django/24.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Python 如何在Django的views.py中生成UUID路径?_Python_Django_Uuid - Fatal编程技术网

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

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

我想在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, 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)