프로필 수정에 성공했을 때에 메세지를 띄우고 싶어졌다. django에 message framework 가 있다고 하던데 써봐야 겠다. message framework는 1회성 메세지를 담는 용도로 사용한다. 메세지를 남기는 방식은 httpRequest 인스턴스를 통해서 남기며, 새로고침하면 사라지는 일회성이다. message에는 레벨이 존재한다. 에러를 의미하는 메세지를 빨간글씨, 성공을 의미하는 글씨는 초록색 글씨로 구현이 가능하다. 메세지의 종류는 DEBUG INFO SUCCESS WARNING ERROR 이렇게 있다. 서버에서 이러한 메세지를 보내면 html 파일에서 message에 따라 다르게 보여질 수 있다. views.py에 아래 import를 추가해준다 from django.contrib i..
스터디 깃허브 올가에 커밋했다가 이런 메일을 받았다. secret key를 내가 신경을 안썼다는.. 그런..것 같다. 그래서 아래 포스팅 보고 따라했다. https://chagokx2.tistory.com/45 [Django Basic 07] settings.py에서 SECRET_KEY 분리하기 Django 프로젝트를 생성하게 되면 다양한 기본 설정이 담겨있는 settings.py도 함께 생성된다. 그 중 SECRET_KEY가 있는 것을 볼 수 있다. 데이터베이스 연결 정보나 AWS 관련 정보에 비해 별로 중요하지 chagokx2.tistory.com
페르소나 프로젝트를 진행하다가 CORS 에러 라는게 떴다. 동기가 아래 게시물을 보고 해결했다고 함.(settings.py 수정) 나도 한번 보려고 한다. CORS 가 뭔가 하면,, Cross Origin Resource Sharing 의 약자로 도메인 또는 포트가 다른 서버의 자원을 요청하는 메커니즘 이라고 함. 최근 대부분의 웹 브라우저는 js 를 이용한 AJAX 통신을 통한 데이터 송수신을 하는데 다른 도메인을 가진 서버의 url을 호출해 데이터를 가져오려고 하는 경우에 보안 문제인 Cross Domain 이슈를 발생시킨다고 함. (만약 우리 웹 서비스에서 사용하려고 다른 서브 도메인을 가진 API 서버를 구축했는데 우리가 아닌 다른 웹 서비스에서 이 API 서버에서 맘대로 접근하고 그러면 안되니까..
https://velog.io/@dojun527/AWS-EC2-Django-%ED%94%84%EB%A1%9C%EC%A0%9D%ED%8A%B8-%EB%B0%B0%ED%8F%AC%ED%95%98%EA%B8%B0 AWS EC2, Django 프로젝트 배포하기 AWS는 Amazon Web Services의 줄임말로, 아마존닷컴이 제공하는 각종 원격 컴퓨팅 서비스(웹 서비스)입니다. 아마존 웹 서비스는 다른 웹 사이트나 클라이언트측 응용 프로그램에 대해 온라인 서비스 velog.io https://nachwon.github.io/django-deploy-1-aws/ [Deploy] Django 프로젝트 배포하기 - 1. AWS AWS EC2에 장고 프로젝트 올리기 nachwon.github.io 참고함. 이어서 ..
API 문서라는 걸 구글 스프레드 시트 이용해서 작성할 수도 있지만 서버가 수정될때마다 해당 문서를 동기화 하는 일이 쉽지않기 때문에 API 문서 동기화 되는 플랫폼을 이용하는 게 좋을 수도 있다 그러한 플랫폼이 바로 Postman 이다. 아래 사이트를 참고하여 작성했다. https://velog.io/@jinee/TIL-Postman%EC%9C%BC%EB%A1%9C-API%EB%AC%B8%EC%84%9C-%EB%A7%8C%EB%93%A4%EA%B8%B0-l4k5mj31rl [TIL] Postman으로 API문서 만들기 Postman? postman.png Postman은 개발한 API를 테스트하기 위해 사용하는 플랫폼으로 유명하다. 많은 사람들이 이용하는 플랫폼인 만큼 다양한 기능들을 제공하고 있다. ..
원래 테이블 만들면 자동으로 id 가 추가되는 것으로 알고 있는데 만들고 보니 보이지가 않았다. 그래서 그냥 내가 추가해주기로함. 각 테이블마다 id 를 추가해주었다. 그래서 지금은 id 잘보임! models.py 를 건드린거라 데이터들이 그래도 있을까 걱정했는데 입력했던 데이터 그대로 잘 있었다 다행,, 오늘은 슬기로운 의사생활 드라마에 해당하는 데이터들만 어드민사이트에서 등록을 해주었다. 다른 것들은 나중에 한번에 해도 되니까..
https://freekim.tistory.com/9 [Django] RestFramework Image file upload ImageField 서버시나리오에서 빠지지 않는 기능은 이미지를 업로드 하고 보는 기능이다 RestFramework 을 이용하면 ImageField 를 활용하여 쉽게 Image를 업로드 할 수 있다. 기존에 사용했던 Model에 ImageField를 추가 freekim.tistory.com 이 포스팅 참고하면서 차근차근 따라했다. 프로젝트의 root directory 에 media 라는 폴더를 만들고 settings.py에 가서 이렇게 작성해준다. MEDIA_URL 은 Media 파일에 대해서 고정된 URL 값을 설정할 때 사용하는 거고 MEDIA_ROOT 는 뭐냐면.. db에는..
데이터를 싹다 지우고 admin 사이트에 다시 로그인 하려고 하니 로그인이 안됐다. 비밀번호를 잘못입력했나 싶었지만 그것도 아니었고.. 비밀번호 찾기 기능이 있지도 않아서 구글링을 시작했다. https://kitle.xyz/post/58/ django admin 장고 어드민 계정 찾기 및 비밀번호 변경하기 django admin 장고 어드민 계정 찾기 및 비밀번호 변경하기 django 3.X 버전 기준으로 작성되었습니다.장고 … kitle.xyz 이 포스팅을 보며 계정이 존재하는지 찾아보았는데 결론적으로 슈퍼유저가 없는 걸로 나왔다. 그래서 https://developer.mozilla.org/ko/docs/Learn/Server-side/Django/Admin_site Django Tutorial Pa..
https://ohdowon064.tistory.com/316 (Django) 테이블 초기화하기; reset table 장고 개발을 진행하다가 테이블명을 잘못 적어서 테이블명을 다시 적고 마이그레이션을 했는데 id값이 엉켜서 이도저도 못하는 상황에 직면했다. 그래서 마이그레이션 파일을 삭제해서 테이블 ohdowon064.tistory.com 현재 진행중인 프로젝트 중 프론트 팀을 만나 오프라인 회의를 하다가 api 내용을 바꿔야 하는 상황이 생겼다. 소통의 부재가 이렇게 무섭다😂 아무튼 기존에 있던 테이블들을 지우고 다시 작성하는 과정에서 제목과 같은 에러가 났다. 구글링 하다 이 위에 있는 링크의 방법이 제일 명확해서 참고해서 해결했다. makemigrations 명령을 했을 때 생기는 파일들 (__i..
Postman 이라는 것을 이용해서 api가 잘 되었는지 테스트 할 수 있다고 해서 알아봤다 아래는 참고한 사이트 https://meetup.toast.com/posts/107 Postman 개요 / 설치 / 사용법 / 활용 방법 : NHN Cloud Meetup Postman meetup.toast.com https://kibua20.tistory.com/149 무료 REST API 테스트 프로그램: Postman (설치, 활용법) RESP API를 사용하는 클라이언트를 개발하는 경우 서버와의 API 인증과 동작을 먼저 확인 후 파이썬, 자바, NodeJS, PHP 등의 언어로 소스 코드를 작성하는 경우가 많습니다. 이러한 목적으로 전통적인 kibua20.tistory.com Postman 이란? RE..
이 글은 [파이썬 웹 프로그래밍](저자 김석훈, 출판사 한빛미디어) 교재를 보고 공부하며 정리한 글임. 5.1.8 지금까지 작업 확인하기 클래스형 제네릭뷰로 books 애플리케이션을 코딩했었다. 템플릿 상속에 대해서 다시 제대로 짚고 넘어가자면 base.html 이 기본 뼈대를 만드는 역할을 하고 이 부모 템플릿에 나타난 block 부분들을 자식 템플릿이 덮어쓰는 것이다.(치환) ->이렇게 이해하니 이해가 잘된다. 아래 문서를 참고해서 이해했다. https://django-doc-test-kor.readthedocs.io/en/old_master/topics/templates.html Django 템플릿 언어 — Django 1.4 documentation Django의 템플릿 언어는 강력함과 용이성 사..
https://dawonny.tistory.com/11?category=991193 API 에 대해서 정리한 포스트. 이번에는 REST API 서버를 구축을 한번 해보고 싶다. 해봐야 뭐가 뭔지 알 것 같아서. 아래 포스팅을 참고했다. http://throughkim.kr/2018/05/29/django-rest/ Django를 이용한 Rest API 서버 구축 Django를 이용해 Restful한 API 서버를 구축하는 방법을 익혀본다. Ubuntu 16.04-64-server Python 3.5.2 Django 2.0.5 django-rest-swagger 2.2.0 환경 세팅 파이썬 버전을 확인해 준다. 파이썬 3.x 버전이 없다면 설치해준 throughkim.kr https://jamanbbo.t..
이 글은 [파이썬 웹 프로그래밍](저자 김석훈, 출판사 한빛미디어) 교재를 보고 공부하며 정리한 글임. books라는 애플리케이션을 만들어 보자(주로 클래스형 뷰를 사용할것.) 애플리케이션을 만들려면 상위에 더 큰 개념인 프로젝트를 먼저 만들어야 한다-> 3장에서 사용했던 mysite 프로젝트를 그대로 사용 순서는 애플리케이션 설계 프로젝트 뼈대 생성 애플리케이션 model 코딩 애플리케이션 URLconf 코딩 애플리케이션 View 코딩 애플리케이션 Template 코딩 5.1.1 애플리케이션 설계하기 books 애플리케이션은 책, 저자, 출판사의 정보를 관리하는 웹 애플리케이션 index.html 에는 책, 저자, 출판사 중에 고를수 있고 책을 선택해서 들어가면 book_list.html 에서 책의 목..
오늘은 settings.py에 INSTALLED_APPS에 'rest_framework' 를 추가하고 다른 멤버가 구글 스프레트 시트에 model 문서 적어준 것을 보면서 persona_app/models.py 작성을 했다. models.py를 코딩하면서 고민했던 점은 테이블과 테이블 사이의 관계성이었다. 예를들어서 (Answer 테이블을 코딩할때) Answer 과 Question 의 관계는 N:1 이니까 ForeignKey 를 써준다든지 그런것들 그리고 또 하나 고민했던 점은 Mbti 모델의 객체를 만들때 아예 16개의 객체를 따로 만들어주면 Character와 연결해서 보여주기 쉽겠다 라는 생각이 들었다. 그럼 Character 와 Mbti 는 뭐가 맞을까? 캐릭터 한명당 Mbti 하나를 가지고 있으..
이 글은 [파이썬 웹 프로그래밍](저자 김석훈, 출판사 한빛미디어) 교재를 보고 공부하며 정리한 글임. 4.3 템플릿 시스템 템플릿 시스템 : MVT 방식에서 UI 를 담당하는 기능 4.3.1 템플릿 변수 형식) {{ variable }} 정의가 되어 있지 않은 변수 사용하면 빈 문자열 ' '로 채워주고 이걸 변경하고 싶으면 setting.py에서 TEMPLATE_STIRNG_IF_IINVALID 속성을 지정해주면 된다. 4.3.2 템플릿 필터 템플릿 변수에 필터를 적용해서 변수의 출력결과를 변경하려면 파이프 문자 | 를 사용하자 {{ name|lower }} -> name 변수값의 문자들을 소문자로 바꿔주는 필터 {{ text|escape|linebreaks }} ->text 변수값 중에서 특수문자를 ..
HUFS Team 멤버들과 '페르소나'라는 사이트를 만들기로 했다. 영화. 드라마. 소설. 만화 같은 카테고리를 선택하고 자기가 원하는 작품을 선택해서 우리가 흔히 아는 mbti 테스트를 할 수 있는 사이트이다. 나는 Django로 백엔드를 담당하기로 했다. 지금까지 한 거라면, 노션과 slack을 이용해 협업 공간을 마련한 것. erd를 작성한 것. 화면 구성을 짠 것(이건 pm이 프로젝트 기획할 때 하셨다) 일단 백엔드 팀끼리 구글 스프레드시트를 이용해서 api 문서를 작성했고, 프론트 팀원과 pm과 피드백을 진행했다. api 에 대한 개념이 확실히 잡혀있지가 않아서 수정을 많이 했지만 그래도 api가 화면을 기준으로 나누는 거라는 게 이제 좀 와닿는다. 본격적으로 테이블 만들기전에 프로젝트 뼈대만 ..
이 글은 [파이썬 웹 프로그래밍](저자 김석훈, 출판사 한빛미디어) 교재를 보고 공부하며 정리한 글임. 4.1 Admin 사이트 꾸미기 장고의 Admin 기능 -> 데이터 관리가 쉽고 정돈된 룩앤필 Admin 를 통해 데이터의 CRUD 기능을 익혀보기 일단 runserver를 작동시킨다 웹브라우저를 통해 Admin 사이트에 접속해보자 (Admin 사이트가 죄다 깨져서 나와서 한참 오류를 구글링 했는데 DEBUG = False로 해두고 하면 그럴 수 있다고 해서 True 로 바꾸고 하니 다시 잘 나온다 참고 https://stackoverflow.com/questions/59688135/css-static-file-is-not-loading-in-django CSS static file is not loa..
Django에서 Model 을 정의하면 ORM을 통해 데이터 베이스와 소통할 수 있는 API를 제공함. API란? 데이터 베이스를 조작할때 사용했던 모든 명령어들 ex) .objects.all() #의 모든 데이터 Queryset 가져오기 .objects.get() Queryset 이란? Django Model 의 데이터가 담겨있는 목록 (파이썬의 리스트와 비슷한 형태) 데이터 베이스로부터 가져온 여러개의 model 데이터 Queryset을 반환하는 API 하나의 데이터 객체를 반환하는 API 그 외 API... 필드 조건 옵션 (Field Lookups) Queryset 연산을 할 때 사용할 수 있는 여러 필드 조건 옵션 필드명 뒤에 __을 쓰고 사용할 옵션 인자를 적어주자. (아래 문서 참고) htt..
이 글은 [파이썬 웹 프로그래밍](저자 김석훈, 출판사 한빛미디어) 교재를 보고 공부하며 정리한 글임. 3.1 일반적인 특징 장고 : 현재 가장 많이 사용되는 파이썬 웹 프레임 워크 1. MVC(Model-View-Controller) 패턴 기반 MVT(Model-View-Template) View : Template Controller : View Model : 데이터베이스에 액세스하는 컴포넌트 View : 데이터를 가져오고 변형하는 컴포넌트 Template : 데이터를 사용자에게 보여주는 컴포넌트 2. 객체 관계 매핑 데이터 베이스 시스템 & 데이터 모델 클래스를 연결시키는 다리와 같은 역할 3. 자동으로 구성되는 관리자 화면 4. 우아한 URL 설계 5. 자체 템플릿 시스템 6. 캐시 시스템 7. ..
이 글은 [파이썬 웹 프로그래밍](저자 김석훈, 출판사 한빛미디어) 교재를 보고 공부하며 정리한 글임. 웹 프로그램은 클라이언트 + 서버 로 구성됨. 1.1 웹 프로그래밍이란? 웹 프로그래밍 : HTTP(S) 프로토콜로 통신하는, 클라이언트와 서버를 개발하는 것 웹 클라이언트와 서버를 같이 개발할 수도 있고 둘 중 하나만 개발할 수도 있다. 장고는 서버를 개발할때 쓰는 웹 프레임워크! ex) 네이버에 접속할때 웹 브라우저 = 웹 클라이언트 네이버 서버 = 웹 서버 즉, 웹 클라이언트 = 요청 웹 서버 = 응답 -> 동작! 웹 클라이언트는 다양하게 만들 수있다(아래 4가지). 웹 브라우저를 사용 리눅스 curl 명령 사용해 요청 Telnet을 사용하여 요청 직접 만든 클라이언트로 요청 1.2 다양한 웹 클..