首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >Django-2.2 NoReverseMatch错误无法重定向到下一页

Django-2.2 NoReverseMatch错误无法重定向到下一页
EN

Stack Overflow用户
提问于 2019-12-02 07:20:30
回答 1查看 217关注 0票数 1

在我的web应用程序中提交了一个创建表单之后,它应该重定向到一个页面,在其中显示输入的新产品。相反,它表明:

Reverse for 'category' with keyword arguments '{'pk': UUID('e3ec4273-22c9-450f-87c9-d12973dce3c1')}' not found. 1 pattern(s) tried: ['app/products/category/<int:pk>']

views.py

代码语言:javascript
复制
def create_category(request):
    if request.method=='POST':
        form = CategoryForm(request.POST,request.FILES)

        if form.is_valid():
            data = form.save(commit=False)
            data.creator = request.user
            data.updater = request.user
            data.auto_id = get_auto_id(ProductCategory)
            data.save()

            return HttpResponseRedirect(reverse('products:category',kwargs={"pk":data.pk}))
        else:
            ...
    else:
        ...
def category(request,pk):
    instance = get_object_or_404(ProductCategory.objects.filter(pk=pk))
    context = {
        'title': "Category : " + instance.name,
        'instance' : instance,
    }
    return render(request,'products/category.html',context)

urls.py

代码语言:javascript
复制
from django.urls import path
from . import views


app_name = 'products'

urlpatterns = [
    path('categories',views.categories,name='categories'),
    path('category/create',views.create_category,name='create_category'),
    path('category/<int:pk>',views.category,name='category'),
    path('category/edit/<int:pk>',views.edit_category,name='edit_category'),
    path('category/delete/<int:pk>',views.delete_category,name='delete_category'),
]

这件事是表单被提交,值被添加到数据库中。但它并没有进入下一步。

我是django 2的新手,所以不太确定如何在urls/path中通过pk。

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2019-12-02 07:26:04

在你的网址上:

代码语言:javascript
复制
path('category/<int:pk>',views.category,name='category'),
               ^^^^

您期待的是一个整数,但是在代码中您传递的是一个UUID。因此,将url更改为:

代码语言:javascript
复制
path('category/<uuid:pk>',views.category,name='category'),

更多信息可以在中找到。

票数 4
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/59134259

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档