본문 바로가기

Django

(13)
1. django 로컬 설치 - PyCharm 1. django install용 프로젝트 생성 * 실제 사용할 프로젝트가 아니므로 아무 이름이나 사용해도 됨 2. 장고 설치 및 실제 프로젝트 생성 화면 하단 termianl 클릭 (단축키: alt + F12) # 1) 현재 설치된 라이브러리 리스트 확인 (venv) pip list # 2) 장고 인스톨 (venv) pip install django # 3) 장고 인스톨용 프로젝트에서 벗어남 (venv) cd ../ #4) 실제 장고 프로젝트 생성 (venv) django-admin startproject projectName 3. 가상환경 설정 1) 실제로 만든 장고 프로젝트 열기 File - Open 2) 가상환경 추가 File - Settings - Project - Python Interpret..
django / template에서 배열 여러개에 인덱스 접근하는 방법, use a variable as index php, java를 사용하다 djnago를 사용하면서 당면한 또 하나. for문을 사용할 때 java나 php는 for(int i; i
django / template <br> 줄바꿈 방법 database에 다음과 같이 입력되어 있는 글을 가지고 template으로 나오면 This is the text This is on a new line with a space in between 다음과 같이 줄바꿈 없이 글이 써진다. 줄바꿈이 필요해 😥 This is the text This is on a new line with a space in between 2가지방법 1. linbreaks / linebreaksbr filter 사용하기 {{text|linebreaks}} 2. ... 사용하기 {{ text }} 두개 차이점이라면, 사용시 줄바꿈이 2줄인 경우 그대로 나오는데, 1번의 경우 1번만 되서 나온다. 참고 https://stackoverflow.com/questions/22538454..
django / 데코레이터(decorator) 사용권한 인증 구현 (로그인, 비로그인) 🔶 Python Decorator 기능 각 페이지별로 사용권한을 주기 위해 사용하는 기능, @를 앞에 붙여서 사용함 / Decorator가 없어도 해당 페이지에서 구현가능하지만 동일한 기능을 할 때, function 으로 빼듯이 코드의 간결성을 위함 ex) 목록페이지, 공지사항페이지 등이 있는 사이트라면 목록은 A그룹만 볼 수 있고, 공지사항은 B그룹만 볼 수 있게 지정혹은, 로그인을 하지 않은 경우 해당 페이지 못보도록 막기 0. 현재상황 현재 django 로그인은 django에서 구현하는 방식이 아닌 DB 체크로 하는 중. 1. Usage App에 decorators.py 파일 생성 from django.shortcuts import redirect def is_login(func): #데코레이터 명..
django.template.exceptions.TemplateDoesNotExist: 오류 장고 오류는 꽤 친절하지 않은편이다. 특히나 template 에서 나는 오류에 있어선 그냥 에러! 이렇게 보여주니 찍어볼수도없고 하나하나 빼면서 찾아보는 방법뿐 🤢 제일 만나기 싫은 에러가 django.template.exceptions.TemplateDoesNotExist: 이런식으로 오류내용을 통으로 말해줄때다. template 있는데 왜 없단거지. 컴퓨터는 거짓말하지 않으니 내문제겠지 싶어 하나씩 확인해보았다. 1. 먼저 template에 {% load %} 해서 사용시 install이 되어있는지 예) 아래와같이 load 해서 사용시, pip list 로 install 목록 확인 후 비교하기 {% load static %} {% load mathfilters %} 2. setting.py 파일에 T..
OSError: [WinError 123] 파일 이름, 디렉터리 이름 또는 볼륨 레이블 구문이 잘못되었습니다: '<frozen importlib._bootstrap>' OSError: [WinError 123] 파일 이름, 디렉터리 이름 또는 볼륨 레이블 구문이 잘못되었습니다: '' 프로젝트를 전날 git에 올리고 퇴근 후, 아침에 출근했는데 갑자기 error 발생. OSError: [WinError 123] 파일 이름, 디렉터리 이름 또는 볼륨 레이블 구문이 잘못되었습니다: '' 뭐야. 왜이래 하면서 천천히 퇴근전 내가 한 행동을 되짚어봤다. 구글링 해보니까 settings.py > INSTALLED_APPS 에서 콤마(,)를 깜빡해서 나는 오류가 많던데 내껀 너무 정직하게 잘찍혀있는데.. 그럼, INSTALLED_APPS에서 문제가 뭐가 있을거다 싶었는데 전날 custom template 만든다고 directory를 하나 만들어서 추가했다가 해당 내용을 다른 폴더에..
django / template csrf 문제해결 CSRF (Cross Site Request Forgery) : 크로스 사이트 요청 위조, 사이트 간 요청 위조 웹 애플리케이션 취약점 중 하나로 사용자가 자신의 의지와 무관하게 공격자가 의도한 행동을 하여 특정 웹페이지를 보안에 취약하게 한다거나 수정, 삭제 등의 작업을 하게 만드는 공격방법을 의미한다 (나무위키) 장고내에서 위 에러를 해결하기 위해 form 태그에서 적용하는 방법과 Ajax 사용시 적용하는 방법 2가지가 나와있다. Usage 1. Form 태그에서 적용방법 - Form 태그 밑에 {% csrf_token %} 작성 {% csrf_token %} 2. Ajax 사용시 적용방법 - 아래내용 적용 후 사용 function getCookie(name) { var cookieValue = nu..
django / HttpResponse list return django에서 ajax를 사용해 값을 받을때 계속 AttributeError: 'TypeError' object has no attribute 'message' (이제 그만 만나고싶다. 이 에러 ㅠㅠ) 해결하기위해 list return 방식을 찾던 중 빛같은 자료 찾음! list를 HttpResponse로 넘기기 위해서는 json으로 변환 후 보내야함 그렇지않으면, ajax에서 아무리 list를 받아도 type이 string으로 확인 됨 (휴. 이 짓만 몇번했는지 분명 백에선 list 타입인데 왜 ajax로 받기만 하면 string이냐고..) json.dumps에 배열을 담고 return 시 content_type ="application/json" 추가 필요 Usage def test(request)..