标签: django-filebrowser

Django:从服务器上的现有文件手动创建模型中的imagefield

这是在杀我!

我正在使用django-filebrowser,我想创建一个图库应用程序,利用它的上传功能来管理图像.

我有一个Gallery模型,允许用户在服务器上选择或创建目录,并将文件上传到该文件夹​​以显示在库中.我想自动搜索用户已将图像上传到的目录,然后选择该目录,然后自动为该文件夹中的每个图像创建图像实例.

class Gallery(model.Models):
    gallerydirectory = FileBrowserField(...)
    title = ...
    description ...

class Image(model.Models):
    image_field = models.ImageField()
Run Code Online (Sandbox Code Playgroud)

问题是FileBrowser表示图像与Django不同,但我想使用DJango ImageFields,因为我可以在模板端使用其他应用程序(sorl缩略图).

我有文件所需的所有数据,即文件名,路径等,我只是无法让Django创建一个ImageField的实例,而无需再次实际上传图像.我只是想填充它.

在这里看到另一个提示如下的线程:

for image in filebrowser_image_objects_list:
    f = File(open('path-to-file-on-server','r'))
    i = Image()
    i.image_field('filename.png',f.read())
Run Code Online (Sandbox Code Playgroud)

但这给了我一个:

SuspiciousOperation error
Attempted access to '/filename.png' denied 
Run Code Online (Sandbox Code Playgroud)

这表明路径没有被正确读取.我打印了文件对象的属性,它正在打开正确的图像,它只是没有被传递到ImageField

帮助将非常感谢!

UPDATE

我已经放弃了尝试这项工作,因为它太乱了.我上面遇到的问题是我将ImageField的upload_field设置为'/'并且它没有被注意到意味着该文件被写入'/something.png'.

我已对其进行了修改,以便Image现在也使用FileBrowserField而不是ImageField.

python django django-models django-filebrowser imagefield

18
推荐指数
2
解决办法
2万
查看次数

Django-tinymce和django-filebrowser,图片上传错误查找上传文件夹(MEDIA_ROOT + DIRECTORY)

所以我试图让文件浏览器在django中使用tinymce.Evrything很好用tinymce,漂亮的花哨文本编辑器.当我尝试打开文件浏览器时,我在/ admin/filebrowser/browse /错误查找上传文件夹(MEDIA_ROOT + DIRECTORY)时收到了ImproperlyConfigured.也许它不存在?我没有从控制台中得到任何错误,据我所知它应该寻找/ 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)
Run Code Online (Sandbox Code Playgroud)

AssertionError:False!= 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",
}
Run Code Online (Sandbox Code Playgroud)

我的网址:

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

urlpatterns += staticfiles_urlpatterns()
Run Code Online (Sandbox Code Playgroud)

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

django django-filebrowser django-tinymce

5
推荐指数
2
解决办法
7315
查看次数

django-filebrowser无法访问,并抛出404

找不到页(404)请求方法:GET请求URL:http: //beta.mysite.com/admin/filebrowser/

请求的管理页面不存在.

django-filebrowser 要求:

  • django 1.0+(我有1.1)
  • PIL(我安装python-imaging)
  • Grappelli(我安装了最新的svn trunk,确认它有效)

对于文件浏览器我:

  • 检查出最新的svn,放入python路径
  • 通过媒体文件复制到静态主机
  • 添加了filebrowser settings.py,确认它已经把它拿起来,因为它曾经在我安装之前抛出了PIL没有安装的异常
  • 我在urls.py中添加了确切的url行: (r'^admin/filebrowser/', include('filebrowser.urls')),

有一点需要注意,我没有修改filebrowser settings.py.

我的网站管理员工作,grappelli应用于管理员,我尝试http://site.com/admin/filebrowser/使用尾部斜杠,我的网址有一个尾部斜线,继承人的完整urls.py:

    urlpatterns = patterns('',

        (r'^$', 'django.views.generic.simple.direct_to_template', {'template':'homepage.html'}),

        # Uncomment the next line to enable the admin:
        (r'^admin/filebrowser/', include('filebrowser.urls')),
        (r'^admin/', include(admin.site.urls)),


        # add this or you'll get some error:
        # Reverse for 'grp_bookmark_get' with arguments
        (r'^grappelli/', include('grappelli.urls')),

        (r'^search/$', 'site.search.views.search'),
        (r'', include('django.contrib.flatpages.urls')),

)
Run Code Online (Sandbox Code Playgroud)

django django-admin django-filebrowser

4
推荐指数
1
解决办法
1362
查看次数

Django:在管理员中维护图像的真棒插件是什么?

我有一篇文章入门模型,我有一个摘录和描述字段.如果用户想要发布图像,那么我有一个单独的ImageField,它具有默认的标准文件浏览器.

我尝试过使用,django-filebrowser但我不喜欢它需要django-grappelli也不一定需要一个flash上​​传实用程序 - 任何人都可以推荐一个我可以管理图像上传的工具,并基本上用django替换文件浏览与图像采集浏览器吗?

在将来,我可能希望它处理图像大小调整并为某些文章类型指定默认图像大小.

编辑:我想出去adminfiles,但现在我有问题,安装它.我抓住它并将其添加到我的python路径,将其添加到INSTALLED_APPS,为其创建数据库,上传图像.我按照说明修改我的模型以指定adminfiles_fields和注册,但它不适用于我的管理员,这是我admin.py的文章:

from django.contrib import admin
from django import forms
from articles.models import Category, Entry
from tinymce.widgets import TinyMCE
from adminfiles.admin import FilePickerAdmin

class EntryForm( forms.ModelForm ):

    class Media:
    js = ['/media/tinymce/tiny_mce.js', '/media/tinymce/load.js']#, '/media/admin/filebrowser/js/TinyMCEAdmin.js']

    class Meta:
        model = Entry

class CategoryAdmin(admin.ModelAdmin):
    prepopulated_fields = { 'slug': ['title'] }


class EntryAdmin( FilePickerAdmin ):
    adminfiles_fields = ('excerpt',)
    prepopulated_fields = { 'slug': ['title'] }
    form = EntryForm

admin.site.register( Category, …
Run Code Online (Sandbox Code Playgroud)

django django-admin django-filebrowser

4
推荐指数
1
解决办法
3879
查看次数

django-filebrowser'找错Upload-Folder'

我有:

  • Django 1.8.2
  • django-grappelli 2.7.3
  • django-filebrowser 3.6.4
  • django-tinymce 2.4.0

INSTALLED_APPS:

INSTALLED_APPS = (
    'grappelli',
    'filebrowser',
    'django.contrib.admin',
Run Code Online (Sandbox Code Playgroud)

urlpatterns:

from filebrowser.sites import site

urlpatterns = patterns[
   url(r'^admin/filebrowser/', include(site.urls)),
   url(r'^grappelli/', include('grappelli.urls')),
   url(r'^tinymce/', include('tinymce.urls')),
   url(r'^admin/', include(admin.site.urls)),
]
Run Code Online (Sandbox Code Playgroud)

这似乎工作正常.

我的目标MEDIA_ROOT'D:\\sites\\my_site\\public_html\\media\\'.

FILEBROWSER_DIRECTORY = 'D:\\sites\\my_site\\public_html\\media\\'也在我的设置中设置,但仍然在浏览时出错http://localhost:8000/admin/filebrowser/browse/:

ImproperlyConfigured at /admin/filebrowser/browse/

Error finding Upload-Folder (site.storage.location + site.directory). Maybe it does not exist?
Run Code Online (Sandbox Code Playgroud)

django django-filebrowser

3
推荐指数
1
解决办法
2357
查看次数

无法安装django-filebrowser应用程序

我完全按照这里的说法做了:http: //readthedocs.org/docs/django-filebrowser/en/latest/quickstart.html#quickstart(仅使用easy_install而不是pip)

尝试连接到管理界面时,我似乎遇到导入错误:

Request Method:     GET
Request URL:    http://localhost:8000/admin/
Django Version:     1.3
Exception Type:     ImportError
Exception Value:    

No module named sites

Exception Location:     c:\workspace\expedeat\..\expedeat\urls.py in <module>, line 5
Python Executable:  c:\Tools\Python26\python.exe
Python Version:     2.6.4
Run Code Online (Sandbox Code Playgroud)

异常来自的导入是:from filebrowser.sites import site在urls.py中

此测试文件浏览器失败并显示以下消息:

Creating test database for alias 'default'...
.......F......
======================================================================
FAIL: test_directory (filebrowser.tests.settings.SettingsTests)
----------------------------------------------------------------------
Traceback (most recent call last):
  File "c:\Tools\Python26\lib\site-packages\django_filebrowser-3.3.0-py2.6.egg\filebrowser\tests\set
tings.py", line 29, in test_directory
    self.assertEqual(os.path.exists(os.path.join(MEDIA_ROOT,DIRECTORY)), 1)
AssertionError: False != 1

----------------------------------------------------------------------
Ran 14 tests in 0.008s

FAILED (failures=1) …
Run Code Online (Sandbox Code Playgroud)

django django-filebrowser

0
推荐指数
1
解决办法
3256
查看次数