장고:썸머노트 설치: 두 판 사이의 차이
둘러보기로 이동
검색으로 이동
(새 문서: {{장고}} == 개요 == 일반적인 textarea에서 표현할 수 있는 방식은 굉장히 적다. 적어도 위키처럼 목차관리를 해준다든가, 링크를 만든다든가...) |
편집 요약 없음 |
||
1번째 줄: | 1번째 줄: | ||
{{장고}} | {{장고}} | ||
== 개요 == | ==개요== | ||
일반적인 textarea에서 표현할 수 있는 방식은 굉장히 적다. 적어도 위키처럼 목차관리를 해준다든가, 링크를 만든다든가 정도는 되야 하지 않을까. 많이 사용되는 에디터인 섬머노트를 장고에 설치해본다. | 일반적인 textarea에서 표현할 수 있는 방식은 굉장히 적다. 적어도 위키처럼 목차관리를 해준다든가, 링크를 만든다든가 정도는 되야 하지 않을까. 많이 사용되는 에디터인 섬머노트를 장고에 설치해본다. | ||
이미 장고앱으로 개발되어 있어 쉽게 설치가 가능하다. | 이미 장고앱으로 개발되어 있어 쉽게 설치가 가능하다. | ||
== 과정 == | ==과정== | ||
{| class="wikitable" | {| class="wikitable" | ||
|+ | |+ | ||
25번째 줄: | 25번째 줄: | ||
추가 | 추가 | ||
|- | |||
|settings.py 설정 | |||
|클릭재킹 방지설정 변경. | |||
'django.middleware.clickjacking.XFrameOptionsMiddleware'라는 미들웨어가 클릭재킹을 방지해주는데, 기본설정이 DENY다. | |||
때문에 아래 옵션을 주어 설정을 변경해준다.<syntaxhighlight lang="python"> | |||
#클릭재킹 방지설정 변경 | |||
X_FRAME_OPTIONS = 'SAMEORIGIN' | |||
</syntaxhighlight><br /> | |||
|- | |- | ||
|urls.py 변경 | |urls.py 변경 | ||
53번째 줄: | 62번째 줄: | ||
model = Post | model = Post | ||
fields = ['title', 'content'] | fields = ['title', 'content'] | ||
widgets = { | widgets = {'content': SummernoteWidget(),} | ||
</syntaxhighlight> | </syntaxhighlight> | ||
|- | |||
| | |||
| | |||
|} | |} |
2020년 11월 12일 (목) 16:22 판
장고! 웹 프레임워크! 틀:장고
개요
일반적인 textarea에서 표현할 수 있는 방식은 굉장히 적다. 적어도 위키처럼 목차관리를 해준다든가, 링크를 만든다든가 정도는 되야 하지 않을까. 많이 사용되는 에디터인 섬머노트를 장고에 설치해본다.
이미 장고앱으로 개발되어 있어 쉽게 설치가 가능하다.
과정
과정 | 설명 |
---|---|
pip install django-summernote
|
장고에서 사용하는 썸머노트를 설치. |
settings.py의 APP 등록 | 'django_summernote', 추가
|
settings.py 설정 | 이미지 업로드를 위해
추가 |
settings.py 설정 | 클릭재킹 방지설정 변경.
'django.middleware.clickjacking.XFrameOptionsMiddleware'라는 미들웨어가 클릭재킹을 방지해주는데, 기본설정이 DENY다. 때문에 아래 옵션을 주어 설정을 변경해준다.#클릭재킹 방지설정 변경
X_FRAME_OPTIONS = 'SAMEORIGIN'
|
urls.py 변경 | 루트 urls.py에 다음의 코드를 추가한다.
|
모델 만들기 | 기존에 사용하던 모델이 있다면 굳이 만들 필요는 없겠다.from django.db import models
class Post(models.Model):
title = models.CharField(max_length=10)
content = models.TextField()
def __str__(self):
return self.title
|
폼 만들기 | 기존에 사용하던 폼이 있다면 내용을 추가해주면 된다.from django import forms
from .models import Post
from django_summernote.widgets import SummernoteWidget
class PostForm(forms.ModelForm):
class Meta:
model = Post
fields = ['title', 'content']
widgets = {'content': SummernoteWidget(),}
|