5

所以我试图让文件浏览器在 django 中使用 tinymce。tinymce,漂亮的精美文本编辑器,一切都很好。当我尝试打开文件浏览器时,我在 /admin/filebrowser/browse/ 找到错误配置文件上传文件夹(MEDIA_ROOT + DIRECTORY)。也许它不存在?我没有在控制台中得到任何错误,据我所知,它应该寻找绝对存在的 /media/filebrowser/

python manage.py test filebrowser give me this:

FAIL: test_directory (filebrowser.tests.settings.SettingsTests)
----------------------------------------------------------------------
Traceback (most recent call last):
  File "/home/nada/costumeshoppe/filebrowser/tests/settings.py", line 29, in test_directory
    self.assertEqual(os.path.exists(os.path.join(MEDIA_ROOT,DIRECTORY)), 1)

断言错误:错误!= 1

我的设置:

STATIC_ROOT = ROOT_PATH +'/public/static/'
STATIC_URL = '/static/'
MEDIA_ROOT = ROOT_PATH + '/public/media/'
MEDIA_URL = '/media/'
TINYMCE_JS_ROOT = '/static/tiny_mce/'
TINYMCE_JS_URL = os.path.join(STATIC_URL, "tiny_mce/tiny_mce_src.js")
TINYMCE_DEFAULT_CONFIG = {
    'plugins': "table,spellchecker,paste,searchreplace,styles",
    'theme': "advanced",
}

我的网址:

if settings.DEBUG:
        urlpatterns += patterns('',
        url(r'^media/(?P<path>.*)$', 'django.views.static.serve',  {'document_root': settings.MEDIA_ROOT,})
   )

urlpatterns += staticfiles_urlpatterns()

我在调试模式下运行,不知道这是不是问题,确实有一个奇怪的问题,我可以使用静态 url 加载静态文件,但它们必须在媒体目录中,尽管文件浏览器静态文件在我的静态文件位置解决了一些安装问题,但是将这些文件也放在媒体位置并没有改变任何东西。有什么想法需要做些什么才能让它发挥作用?

4

4 回答 4

12

默认 FILEBROWSER_DIRECTORY 是“上传”,因此您应该检查“/媒体/上传”是否存在

于 2012-05-25T04:10:13.043 回答
3

DIRECTORY默认情况下在 filebrowser.settings 中设置为 uploads/ 此文件夹是否存在于您的媒体根目录中?

可以在您的 settings.py 中更改此默认值FILEBROWSER_DIRECTORY

于 2011-09-09T07:53:07.513 回答
0

如果有人有同样的问题,请阅读这篇文章。它对我有用。

摘录后人的内容:

如果您想使用 tinymce 小部件来编辑 zinnia 博客文章,您可能还需要使用文件浏览器使用您的 media django 媒体文件夹插入/编辑图像。它不能开箱即用。

…</p>

  • 安装百日草
  • 安装文件浏览器
  • 安装 django-tinymce

并创建您自己的文件admin/zinnia/entry/tinymce_textareas.js内容:

tinyMCE.init({
    file_browser_callback: "djangoFileBrowser", // <---- this makes filebrowser work!
    mode: "exact",
    elements: "id_content",
    theme: "advanced",
    skin_variant : "silver",
    height: "250",
    width: "800",
    relative_urls: false,
    language: "en",
    directionality: "ltr",
    spellchecker_languages : "Arabic=ar,Azerbaijani=az,Bulgarian=bg,Bengali=bn,Bosnian=bs,Catalan=ca,Czech=cs,Welsh=cy,Danish=da,German=de,Greek=el,+English / British English=en,Esperanto=eo,Spanish / Argentinian Spanish / Mexican Spanish / Nicaraguan Spanish=es,Estonian=et,Basque=eu,Persian=fa,Finnish=fi,French=fr,Frisian=fy,Irish=ga,Galician=gl,Hebrew=he,Hindi=hi,Croatian=hr,Hungarian=hu,Indonesian=id,Icelandic=is,Italian=it,Japanese=ja,Georgian=ka,Kazakh=kk,Khmer=km,Kannada=kn,Korean=ko,Lithuanian=lt,Latvian=lv,Macedonian=mk,Malayalam=ml,Mongolian=mn,Norwegian Bokmal=nb,Nepali=ne,Dutch=nl,Norwegian Nynorsk=nn,Punjabi=pa,Polish=pl,Portuguese / Brazilian Portuguese=pt,Romanian=ro,Russian=ru,Slovak=sk,Slovenian=sl,Albanian=sq,Serbian / Serbian Latin=sr,Swedish=sv,Swahili=sw,Tamil=ta,Telugu=te,Thai=th,Turkish=tr,Tatar=tt,Ukrainian=uk,Urdu=ur,Vietnamese=vi,Simplified Chinese / Traditional Chinese=zh",
    spellchecker_rpc_url : "",
    theme_advanced_toolbar_location : "top",
    theme_advanced_toolbar_align : "left",
    theme_advanced_statusbar_location : "bottom",
    theme_advanced_resizing : true,
    plugins: "contextmenu,directionality,fullscreen,paste,preview,searchreplace,spellchecker,visualchars,wordcount",
    paste_auto_cleanup_on_paste : true,
    theme_advanced_buttons1 : "formatselect,fontsizeselect,|,undo,redo,|,cut,copy,paste,pastetext,pasteword,|,search,replace,|,visualchars,visualaid,cleanup,code,preview,fullscreen",
    theme_advanced_buttons2 : "bold,italic,underline,strikethrough,|,forecolor,backcolor,removeformat,|,justifyleft,justifycenter,justifyright,justifyfull,|,sub,sup,|,bullist,numlist,|,outdent,indent,|,link,unlink,anchor,image,blockquote,hr,charmap,",
    theme_advanced_buttons3 : ""
});
于 2014-04-28T03:04:03.573 回答
0

是的,您应该添加一个新的目录名称“上传”。

在它的官方文档中,您可以找到答案。

https://django-filebrowser.readthedocs.org/en/3.5.2/settings.html#directory-relative-to-media-root

DIRECTORY = getattr(settings, "FILEBROWSER_DIRECTORY", 'uploads/')
于 2013-09-01T13:51:28.490 回答