1

Python 2.7、django 1.4.1、filebrowser 3.5.0、grappelli 2.4.2、win7 x64 を使用

だからここに私の問題があります:

オブジェクトを作成し、それに画像を添付しようとしています:

検索をクリックする: filebrowser 添付ファイル

フォルダーをナビゲートしてファイルに移動し、それを選択します。 ここに画像の説明を入力

私がそれを選んだ後、これはそれが返すパスです:

ここに画像の説明を入力

モデル自体の取り付け:

class EntryManager(models.Manager):
    def active(self):
        return super(EntryManager, self).get_query_set().filter(is_active=True)

class Services(models.Model):
    name = models.CharField(max_length = 20, help_text = 'Nazwa oferowanej usługi', verbose_name='Usługa')
    slug = models.SlugField(max_length=255, help_text = 'Odnośnik, generowany automatycznie na podstawie nazwy', unique=True,verbose_name='Odnośnik')
    icon = FileBrowseField(verbose_name='Ikona', max_length=255, directory="images/", extensions=[".jpg",'.png','.gif'], blank=True, null=True,help_text = '.jpg, .png, .gif')
    is_active = models.BooleanField(help_text='Zaznacz aby obiekt był widoczny dla użytkowników', default=False)

    objects = EntryManager()

    class Meta:
        ordering = ['name']
        verbose_name = "Usługę"
        verbose_name_plural = "Usługi"
    def __str__(self):
        return self.name
    def __unicode__(self):
        return self.name
    def get_absolute_url(self):
        return '/uslugi/%s/' % self.slug

現時点ではどこで問題を検索すればよいかわかりません。

編集:

urls.py

from django.conf.urls import patterns, include, url

from django.contrib import admin
admin.autodiscover()

from filebrowser.sites import site


#when on dev, serve media files
from django.conf import settings

urlpatterns = patterns('',

    url(r'^grappelli/', include('grappelli.urls')),
    url(r'^admin/', include(admin.site.urls)),
    url(r'^admin/filebrowser/', include(site.urls)),
    url(r'^uslugi/?$', 'services.views.services'),
)

#when on dev, serve media files
if settings.DEBUG:
    # static files (images, css, javascript, etc.)
    urlpatterns += patterns('',
        (r'^media/(?P<path>.*)$', 'django.views.static.serve', {
        'document_root': settings.MEDIA_ROOT}))

そしてsettings.pyの一部

import os
PROJECT_DIR = os.path.abspath(os.path.dirname(__file__) + "../../")
MEDIA_ROOT = os.path.join(PROJECT_DIR, 'site_media/media')
STATIC_ROOT = os.path.join(PROJECT_DIR, 'site_media/static')
ADMIN_MEDIA_PREFIX = os.path.join(PROJECT_DIR, 'site_media/admin_media')

INSTALLED_APPS = (
    'grappelli',
    'filebrowser',
    'django.contrib.auth',
    'django.contrib.contenttypes',
    'django.contrib.sessions',
    'django.contrib.sites',
    'django.contrib.messages',
    'django.contrib.staticfiles',
    'django.contrib.admin',
    'services'
)
4

1 に答える 1

1

あなたのものを読んだ後、あなたにドキュメントurls.pyを表示する必要があります:

url.py で、デフォルトの FileBrowser サイトをインポートします。

from filebrowser.sites import site

次の URL パターンを(admin-url の前に)追加します。

urlpatterns = patterns('',
   url(r'^admin/filebrowser/', include(site.urls)),
)

したがって、あなたと私の新しいプロジェクトの違いは次のとおりです。

  1. VirtualBox undex Windows 7でLinux Ubuntu x86を使用しています
  2. 私は/admin/file-browserすべての管理者 URL の前に持っています:

from django.conf.urls import patterns, include, url
from django.contrib import admin
from filebrowser.sites import site
from django.conf.urls.static import static
from django.conf import settings

admin.autodiscover()

urlpatterns = static(settings.MEDIA_URL, document_root=settings.MEDIA_ROOT) + patterns('',
    url(r'^grappelli/', include('grappelli.urls')),
    url(r'^admin/filebrowser/', include(site.urls)),    
    url(r'^admin/doc/', include('django.contrib.admindocs.urls')),
    url(r'^admin/', include(admin.site.urls)),
    url(r'^i18n/', include('django.conf.urls.i18n')),
    url(r'^',  include('django.contrib.flatpages.urls')),
)
于 2012-09-23T11:05:24.063 に答える