Page tree

Versions Compared

Key

  • This line was added.
  • This line was removed.
  • Formatting was changed.
  • 프로젝트 이름은 synapeditor_django입니다.
  • 앱 이름은 edit입니다.

0. 사전작업

앱 등록

Code Block
languagepy
# 프로젝트 settings.py
...
INSTALLED_APPS = [
	'edit.apps.EditConfig', #앱 등록
	...
]
...


# 프로젝트 urls.py
...
urlpatterns = [
	path('edit/', include('edit.urls')), # 앱에서 사용할 url 등록 
	...
]
...

1. 이미지 업로드(동영상, 파일 업로드도 동일)

  • 예제에서 
    • 프로젝트 이름은 synapeditor_django입니다.
    • 앱 이름은 edit입니다.
    • 이미지 업로드는media 디렉토리에 합니다.
    • 이미지 업로드 API는 '/edit/uploadFile'입니다. 

...

Code Block
languagejs
// 사이냅에디터 설정 객체
var SynapEditorConfig = {
	...
	'editor.upload.image.param': {
		'csrfmiddlewaretoken': '{{ csrf_token }}'
	},


	'editor.upload.image.api': '/edit/uploadFile',
	...
}

...

Code Block
languagepy
# 프로젝트 settings.py
...
INSTALLED_APPS =
[
	'edit.apps.EditConfig'
	...
]
MEDIA_URL = '/media/'
MEDIA_ROOT = os.path.join(BASE_DIR, 'media')
...


# 프로젝트 urls.py
urlpatterns = [
	...
	path('edit/', include('edit.urls')),
] + static(settings.MEDIA_URL, document_root=settings.MEDIA_ROOT)

...

Code Block
languagepy
# 앱 models.py
import uuid
from django.db import models

# 저장할 파일 이름을 반환합니다.
def get_file_name(instance, filename):
    ext = filename.split('.')[-1]
    return "%s.%s" % (uuid.uuid4(), ext)

class UploadFile(models.Model):
    file = models.FileField(upload_to=get_file_name)

2. 문서 임포트

  • 예제에서
    • 문서 업로드 및 변환된 결과물은 media 디렉토리에 저장  합니다.
    • 문서 임포트 API는 '/edit/importDoc'입니다. 

0) 에디터 설정

Code Block
languagejs
// 사이냅에디터 설정 객체
var SynapEditorConfig = {
	...
	'editor.import.param': {
		'csrfmiddlewaretoken': '{{ csrf_token }}'
	},


	'editor.import.api': '/edit/importDoc/',
	...
}

1) 업로드 경로 설정