gpt4 book ai didi

django - django-tinymce 的动态图片上传/浏览路径

转载 作者:行者123 更新时间:2023-12-01 12:44:09 25 4
gpt4 key购买 nike

我想使用 tinyMCE 作为我的 django 应用程序的编辑器,但遇到了一些麻烦。我已设置好所有内容,但似乎无法为图像插入/上传功能指定上传路径。我有两个特定的场景,这会成为一个问题:

  • 用户提交内容的文件浏览器不应显示其他用户上传的文件。我想通过用户 ID 将它们“关押”到特定目录。
  • 我需要一种方法将上传的文件与其相关的对象链接起来。这样,如果对象不再存在,我可以在将来删除这些文件,并且我可以在文件浏览器中仅显示与该对象相关的图像。

django-tinymce-filebrowser 自动设置上传路径为mce_filebrowser/%Y/%m/%d。似乎没有以任何方式更改此路径的选项。

django-filebrowser 有在 settings.py 中设置上传目录的选项,但我没能找到任何人为特定模型实例覆盖该路径的记录。我找到的最接近的是 Django filebrowser, model specific directory parameter for FileBrowserField ,但我认为那里的解决方案不适用于我的情况。

是否有人为 django-tinymce 使用另一个文件浏览器?您是否遇到过类似的问题并找到了解决方法?如果有任何正确方向的建议,我将不胜感激。

最佳答案

我使用了类似的方法,但我没有修改 django-filebrowser 代码,而是在 FileBrowserSite 的子类中扩展了 browse() 方法并在那里进行了修改:

from django.core.files.storage import DefaultStorage
from filebrowser.sites import FileBrowserSite

class FileBrowserSite(FileBrowserSite):
def browse(self, request):
self.directory = self.directory + str(request.user) + '/'
return super(FileBrowserSite, self).browse(request)

storage = DefaultStorage()
site = FileBrowserSite(name='file', storage=storage)
site.directory = "content/"

我将这段代码放在一个名为 filebrowser.py 的文件中,然后放在我的 urls.py 中:

from .filebrowser import site

urlpatterns = [
url(r'^admin/content/file/', include(site.urls)),
]

我认为这是一种比修改源代码更简洁的方法,并且对我的项目非常有效。

关于django - django-tinymce 的动态图片上传/浏览路径,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/21794867/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com