首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >反向参数'(8,‘’)没有找到-我如何传递子弹

反向参数'(8,‘’)没有找到-我如何传递子弹
EN

Stack Overflow用户
提问于 2022-02-15 16:06:12
回答 1查看 19关注 0票数 0

我正在设置图像压缩。

代码语言:javascript
运行
复制
def compress(image):
                im = Image.open(image)
                # create a BytesIO object
                im_io = BytesIO() 
                #resize image
                im = im.convert("RGB")
                im = im.save(im_io,'JPEG', quality=70, optimize=True) 
                # create a django-friendly Files object
                new_image = File(im_io, name=image.name)
                return new_image

class Post(models.Model):
    slug = models.SlugField(max_length=100, allow_unicode=True, blank=True)
    image = models.ImageField(storage=PublicMediaStorage(), upload_to=path_and_rename, validators=[validate_image])

    def save(self, *args, **kwargs):
        #image compression start
        if self.image:
            # call the compress function
            new_image = compress(self.image)
            # set self.image to new_image
            self.image = new_image
        #image compression end 
        super(Post,self).save(*args, **kwargs)

当用户提交表单时,我会得到以下错误

Reverse for 'post-detail' with arguments '(8, '')' not found. 1 pattern(s) tried: ['post/(?P<pk>[0-9]+)/(?P<slug>[-a-zA-Z0-9_]+)/$']

我相信这个错误是由这行super(Post,self).save(*args, **kwargs)引起的,因为段塞没有被传入,但是我想不出如何传递这个弹格。

urls

代码语言:javascript
运行
复制
path('', views.home, name='blog-home'),
path('user/<str:pk_user>/', views.UsersCarsPosts, name='user-posts'),
path('post/new/', views.createPostView, name='post-create'),    
path('post/<int:pk>/<slug:slug>/', views.DetailPostView, name='post-detail'),
path('post/<int:pk>/<slug:slug>/update/', PostUpdateView.as_view(), name='post-update'),
path('post/<int:pk>/<slug:slug>/delete/', PostDeleteView.as_view(), name='post-delete'),

更新:

在我提交表单后,我检查DB,所有字段都在那里,但是段塞字段是空的。将继续挖掘

更新:

我哑口无言,没有意识到我在模型上有两种保存方法。

EN

回答 1

Stack Overflow用户

发布于 2022-02-15 18:05:11

(?P<slug>[-a-zA-Z0-9_]+意味着弹格必须是一个或多个字符的字符串。但是,您正在传递''。你得弄清楚为什么子弹是空的。

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

https://stackoverflow.com/questions/71129663

复制
相关文章

相似问题

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