[Django] 사용자 인증 (2) Using the Django authentication system 이 문서는 Django의 인증 시스템을 기본 구성에서 사용하는 방법을 설명한다. 이 구성은 가장 일반적인 프로젝트 요구에 부응하고, 상당히 광범위한 작업을 처리하며, 암호 및 권한을 신중하게 구현하도록 진화했다. 인증 요구 사항이 기본값과 다른 프로젝트의 경우, Django는 광범위한 확장 및 사용자 정의(extension and customization)의 인증을 지원한다. Django 인증은 인증 및 승인을 함께 제공하며 일반적으로 이러한 기능이 다소 결합되어 있기 때문에 인증 시스템이라고한다. User Objects User Objects는 인증시스템의 핵심이다. 사이트와 상호작용하는 사람들을 ..
전체
[Django] 데이터베이스에 초기(initial) 데이터 입력Json 또는 Yaml 형식으로 초기 데이터를 입력. - model : 앱이름.테이블명 # Json [ { "model": "myapp.person", "pk": 1, "fields": { "first_name": "John", "last_name": "Lennon" } }, { "model": "myapp.person", "pk": 2, "fields": { "first_name": "Paul", "last_name": "McCartney" } } ] # Yaml - model: myapp.person pk: 1 fields: first_name: John last_name: Lennon - model: myapp.person pk: 2 f..
[Javascript] number spinner부제 : 버튼 꾹 누르면 숫자 계속 증가/감소하는 기능 구현 up down var timerInterval; var num = document.getElementById("num"); // 숫자 input box // 버튼 눌렀을 때 function mousedown(el) { timerInterval = setInterval(function () { if (el.id === "up") { // up button num.value = parseInt(num.value) + 1; } else if (el.id === "down") { // down button num.value = parseInt(num.value) - 1; } }, 100); } // 버튼..
[Django] Performing raw SQL queries : SQL 쿼리 맵핑 Django는 원시 SQL 쿼리를 수행하는 두 가지 방법을 제공한다 : 1. Manager.raw ()를 사용하여 원시 쿼리(raw queries)를 수행하고 모델 인스턴스를 반환.2. 모델 레이어를 완전히 피하고 사용자 정의 SQL을 직접 실행. *raw SQL을 사용할 때마다 조심해야한다. 사용할 때마다 SQL Injection 공격으로 부터 보호하기 위해 params을 사용하여 사용자가 제어할 수 있는 파라메터를 벗어나도록 해야한다. SQL Injection 보호에 대해 자세히 읽어 보라. Performing raw queries 원시 쿼리 실행 raw() 매니저 메소드는 모델 인스턴스를 반환하는 원시 SQL를 사..
[Django] Custom template tags and filters 사용자 정의 템플릿 태그 -장고에는 수많은 태그와 필터(built-in tags and filter)를 제공하지만, 그럼에도 불구하고 기본적으로 제공하는 태그와 필터가 아닌 자신만의 기능적인 태그나 필터가 필요할 때가 있다. 템플릿 엔진을 파이썬으로 된 커스텀 태그와 필터(Custom tags and filters)를 정의하여 확장이 가능하다. Code Layout 코드 레이아웃 사용자 정의 태그와 필터를 지정하는 가장 일반적인 장소는 장고 앱 내부이다. 만약, 그것들이 현존하는 앱과 연관되어있다면, 그곳에 번들로 묶는 것이 좋다. 그렇지 않으면, 새로운 앱에 그것들을 추가할 수 있다. 장고 앱을 INSTALLED_APPS에 추가..
[JavaScript] 클래스 제어 - 클래스 1개 추가 $('#element').addClass('class1'); element.classList.add('class1'); - 클래스 여러개 추가 $('#element').addClass('class1 class2'); element.classList.add('class1', 'class2'); - 클래스 1개 삭제 $('#element').removeClass('class1'); element.classList.remove('class1'); - 클래스 여러개 삭제 $('#element').removeClass('class1 class2'); element.classList.remove('class1', 'class2'); - 클래스 존재 여부 체크..