장고:썸머노트 설치: 두 판 사이의 차이
둘러보기로 이동
검색으로 이동
편집 요약 없음 |
(→과정) |
||
63번째 줄: | 63번째 줄: | ||
fields = ['title', 'content'] | fields = ['title', 'content'] | ||
widgets = {'content': SummernoteWidget(),} | widgets = {'content': SummernoteWidget(),} | ||
</syntaxhighlight>폼까지 완성했으면 기존의 탬플릿이 잘 작동하나 확인해본다. | |||
<nowiki>혹시나 {{</nowiki> | |||
|- | |||
|탬플릿 변경 | |||
|<nowiki>썸머노트로 입력한 내용은 html코드로 나온다. 탬플릿 필터 |safe 를 사용하여 detail.html의 콘텐츠 부분을 다음과 같이 수정한다.</nowiki><syntaxhighlight lang="html+django"> | |||
<div class="card-text" style="white-space: pre-line;">{{ question.content| safe }}</div> | |||
</syntaxhighlight> | </syntaxhighlight> | ||
|} | |} |
2020년 11월 12일 (목) 20:29 판
장고! 웹 프레임워크! 틀:장고
개요
일반적인 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(),}
혹시나 {{ |
탬플릿 변경 | 썸머노트로 입력한 내용은 html코드로 나온다. 탬플릿 필터 |safe 를 사용하여 detail.html의 콘텐츠 부분을 다음과 같이 수정한다.<div class="card-text" style="white-space: pre-line;">{{ question.content| safe }}</div>
|