在 django 中,如何将数据库中的值检索到自定义字段模板中?

发布于 2024-10-02 12:43:18 字数 725 浏览 3 评论 0原文

我在我的模型上使用自定义类来通过名为 django-filebrowser< 的应用程序提供图像上传/a>.

# myapp/models.py
class Book(models.Model):
    name = models.CharField(max_length=30)
    image = FileBrowseField("Image", max_length=200, blank=True, null=True)
    ...

该模型使用 filebrowser 的自定义字段“FileBrowserField”,它添加了指向单独上传页面的链接 (http://site/admin/filebrowser/browse/?ot=desc&o=date)。我想做的是调整自定义表单的模板以添加“dir”参数,如下所示:(http://site/admin/filebrowser/browse/?ot=desc&o=date&dir=book1 )。在本例中,book1 将从这本书的“名称”CharField 中检索。

我知道我要修改的模板是由filebrowser的fields.py渲染的,并且有一个设置“dir”参数的变量,但是我不知道如何从我自己的模型中获取字符串值到 fields.py 这样我就可以设置这个变量。有人有什么建议吗?

I am using a custom class on my model to provide image uploading, through an app called django-filebrowser.

# myapp/models.py
class Book(models.Model):
    name = models.CharField(max_length=30)
    image = FileBrowseField("Image", max_length=200, blank=True, null=True)
    ...

The model uses filebrowser's custom field "FileBrowserField", which adds a link to a separate upload page (http://site/admin/filebrowser/browse/?ot=desc&o=date). What I'd like to do is to tweak the custom form's template to add a "dir" parameter, like so: (http://site/admin/filebrowser/browse/?ot=desc&o=date&dir=book1). book1, in this case, would be retrieved from the "name" CharField of this Book.

I know that the template that I want to modify is rendered by filebrowser's fields.py, and there is a variable that sets the "dir" parameter, but I don't know how to fetch the string value from my own model to fields.py so I can set this variable. Does anyone have any suggestions?

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(1

﹏半生如梦愿梦如真 2024-10-09 12:43:18

在其他地方找到了解决方案,所以我想分享一下:

# models.py
class Book(models.Model):
    name = models.CharField(max_length=30)
    image = FileBrowseField("Image", max_length=200, blank=True, null=True)

...

    def __init__(self, *args, **kargs):                                                
        super(Property, self).__init__(*args, **kargs)                             
        self._meta.get_field_by_name("image")[0].directory = self.name

Found a solution elsewhere, so I thought I'd share it:

# models.py
class Book(models.Model):
    name = models.CharField(max_length=30)
    image = FileBrowseField("Image", max_length=200, blank=True, null=True)

...

    def __init__(self, *args, **kargs):                                                
        super(Property, self).__init__(*args, **kargs)                             
        self._meta.get_field_by_name("image")[0].directory = self.name
~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文