본문 바로가기
반응형

전체 글129

[python-django] static, media 경로 지정(ngnix) 404 error Django에서 Debug = False로 바꿨는데 이미지가 뜨지 않고 링크로 들어가면 아래와 같이 뜬다고 너무 당황하지 말자. 잘 찾아왔고 방법은 너무 간단하다(이미 알고 있는 것일수도 있다) 시작하기 전에 혹시 settings.py에 아직 media를 세팅하지 않은 사람은 참고 바란다. MEDIA_URL = '/media/' MEDIA_ROOT = os.path.join(BASE_DIR, 'media') 문제의 발생 시점 django에서 개발 환경 (Debug = True)인 상태로 개발을 하다가 테스트 서버에 배포를 했는데 media에 있는 이미지를 읽어오지 못한 문제가 생겼었다. 처음에는 서버의 설정상의 문제이거나 다른 문제들이라 생각했지만 알고보니 nginx의 설정 문제였다. django에서 기.. 2022. 11. 1.
[python-django]summernote 설치 방법(이미지 업로드까지) - 2부(완성) 1부에서 django의 도움으로 정말 간단하게 summernote를 설치하고 이미지 업로드까지 완성을 시켰다! 기능만 보면 그런데 필자는 두가지 정도가 더 필요했다. 1. 글쓰기가 있는 폼의 html태그 수정 2. 이미지 업로드 시 이미지의 width를 100%로 초기값을 주고 싶다. 3. summernote의 width를 100%로 바꾸고 싶다. -> 사실 이거만 생각하면 settings.py에서 설정을 해도 된다. 1,2번 때문에 약간의 수정을 거쳐야 한다. 그러기 위해서는 이해 해야하는게 1. django tempate의 filter 2. 자바스크립트 코드 조금...? 3. summernote api들 조금...? 일단 해당 에디터의 form을 수정하자. 기존 1부에서는 {{ forms.as_p }.. 2022. 10. 21.
[python-django]summernote 설치 방법(이미지 업로드까지) - 1부 게시판에 넣을 에디터를 찾아보다가 summernote를 사용하기로 하였다. 이유는 다음과 같다 1. 설치가 쉬워서 2. ckeditor나 smarteditor2.0 버전을 주로 썼는데 새로운거 써보고 싶어서 너무나 쉬운 설치 방법이 있길래 이걸로 택했다!!! https://summernote.org/ Summernote - Super Simple WYSIWYG editor Super Simple WYSIWYG Editor on Bootstrap Summernote is a JavaScript library that helps you create WYSIWYG editors online. summernote.org 일단 공식 홈페이지에 들어가서 Getting started메뉴로 들어간다. 그리고 Integ.. 2022. 10. 21.
[svg] 글자 번갈아가며 나오기 아래의 코드를 실행하면 "가나다라", "마바사아"가 번갈아가며 출력된다. HTML 삽입 미리보기할 수 없는 소스 가나다라 마바사아 2022. 10. 20.
[python-django] models.py에서 테이블을 변경하는 경우(미해결) 일반적으로 django에서는 models.py에 정의를 하고 다음과 같이 명령어를 실행하면 db table들이 생성된다. python manage.py makemigrations python manage.py migrate 이번에 발생한 문제점은 board_vote라는 테이블에 contraints를 추가하면서 발생하였다. author와 question을 묶어서 유니크로 쓰고 싶었던 상황이라 다음과 같이 Meta를 추가 하였다. class Meta: db_table = 'board_vote' constraints = [ models.UniqueConstraint(fields=['author', 'question'], name='vote of constraint') ] 이렇게 추가를 하고 위에 작성했던 명령.. 2022. 10. 20.
[python-django] post로 데이터 전달 시 csrf 토큰 관련 일반적인 form에서 데이터를 보낼떄는 {% csrf_token %}으로 값을 넣으면 된다. 그러면 fetch나, ajax를 활용해서 비동기 처리를 할 경우에는 body에 그대로 넣으려 했는데 동작하지 않았다. header에 다음과 같이 추가를 해야한다. fetch("/board/question/vote/",{ method:"POST", headers:{ "Content-Type": "application/json", "X-CSRFToken": '{{csrf_token}}' }, body:JSON.stringify({ vote:'G', }), }) .then((response) => response.json()) .then((data) => { //1. 이미 투표를 한 경우 //2. 처리를 한 경우 co.. 2022. 10. 18.
728x90