私はメザニンを使って簡単なブログのWebサイトを展開しています。ウェブサイトの各部分には、ブログチームによって簡単に変更する必要があるヘッダーがあります。私のソリューションは、FileField
のモデルを作成してブログチームが管理ページのページヘッダーを変更することでした。私は静的およびメディアファイルを格納するためにS3バケットを使用しています。メザニンFileBrowserで画像を選択できない
チーフクレーム:ユーザーが写真をアップロードすると、ファイルはS3バケットにアップロードされますが、使用したいファイルの選択ボタンをクリックできません。 Mezzanine file selector button。
私の実装:私は主にファイルアップローダーのためのバックエンドを実装するためにthis tutorialを使用
(私はS3を使用)。
settings.py
AWS_S3_CUSTOM_DOMAIN = '%s.s3.amazonaws.com' % AWS_STORAGE_BUCKET_NAME
STATICFILES_LOCATION = 'static'
STATICFILES_STORAGE = 'custom_storages.StaticStorage'
STATIC_URL = "https://%s/%s/" % (AWS_S3_CUSTOM_DOMAIN,
STATICFILES_LOCATION)
MEDIAFILES_LOCATION = 'media'
MEDIA_URL = "https://%s/%s/" % (AWS_S3_CUSTOM_DOMAIN,
MEDIAFILES_LOCATION)
DEFAULT_FILE_STORAGE = 'custom_storages.MediaStorage'
MEDIA_ROOT = ''
custom_storages.py
from django.conf import settings
from storages.backends.s3boto import S3BotoStorage
from filebrowser_safe.storage import S3BotoStorageMixin
class StaticStorage(S3BotoStorage, S3BotoStorageMixin):
location = settings.STATICFILES_LOCATION
class MediaStorage(S3BotoStorage, S3BotoStorageMixin):
location = settings.MEDIAFILES_LOCATION
models.py
class Header(models.Model):
file = FileField("File", max_length=200, format="Image",
upload_to=upload_to("galleries.GalleryImage.file", ""))
# other fields ...
エラーメッセージ:
FB_FileBrowseField.js:16 Uncaught TypeError:
Cannot set property 'value' of null at FileSubmit (FB_FileBrowseField.js:16)
at HTMLAnchorElement.onclick (?pop=1&type=Image:230)
FB_FileBrowserField.js
function FileSubmit(FilePath, FileURL, ThumbURL, FileType) {
var input_id=window.name.replace(/____/g,'-').split("___").join(".");
// left out variables for post simplicity
input = opener.document.getElementById(input_id);
// set new value for input field
input.value = FilePath;
// cut out rest of the code
問題はオープナー方法はnull
を返すことのようです。これは、htmlのinput_idが見つからないためです。なぜ私はボックスソフトウェアを使用しているので、これがエラーであるのか分かりません。私はこの問題をよりよく診断し、潜在的にそれを修正するために誰かが私を正しい方向に向けることができるかどうか疑問に思っています。