본문 바로가기

프로그래밍

django social 로그인 구현 앞서서 로그인에 관해 공부했었다. 이것 외에 Django는 소셜 로그인 기능도 사용할 수 있다.소셜로그인은 구글, 네이버 등의 ID를 가지고 로그인을 할 수 있게 만들어주는 기능이다.우리는 여기서 구글 로그인 기능을 구현해볼 것이다. 우선 가장먼저 소셜로그인 기능을 제공해주는 social-auth-app-django를 cmd창을 통해 다운로드 받는다. pip install social-auth-app-django를 cmd창에 입력한다. 그리고 나서 settings.py에서 Social 로그인 설정을 진행해주면된다. 우선 INSTALLED_APPS에 추가부터 INSTALLED_APPS = [ 'django.contrib.admin', 'django.contrib.auth', 'django.contrib.c.. 더보기
django 로그인 기능 구현 Django에서 로그인 기능을 구현해보자.해당 실습은 customlogin이라는 새 어플리케이션을 만들어서 진행하며, customlogin에는 따로 urls.py와 forms.py를 만들어준다. 상위 urls.py에서 include 설정을 해준 후customlogin의 urls.py에 다음과 같이 import를 시켜준다. from django.urls import pathfrom .views import * app_name='login'urlpatterns = [ ] 로그인 기능은 django에서 기본으로 제공되는 model인 User를 사용한다. 따라서 따로 models.py에 정의해줄 필요가 없다. 바로 forms.py로 들어가 form class만 만들어주자.from django.forms impo.. 더보기
투표 어플리케이션을 통해 django 이해하기-3 지난 시간 투표기능과 결과를 보는 것까지 만들어보았다. 이번에는 질문과 선택지를 직접 작성할 수 있는 화면을 만드는 작업을 수행하겠다.해당 기능을 수행하기위해서는 input태그가 필수적이다. input 태그를 통해 질문이나 선택지를 입력하고 이를 보내 만들어야하기때문이다;이런 input 태그를 쉽게 자동으로 만들어주는 기능을 Django는 제공하고있다.해당 기능을 수행하기위해 우선 forms.py를 만들어주자. vote 폴더를 우클릭해 pydev module을 만들어주자. 이때 이름은 forms.py로 해준다. forms.py에 input태그 자동설정을 정의할 수 있다. from django.forms.models import ModelForm #ModelForm을 사용하기위해 선언해준다.#이 모델폼을 .. 더보기
투표 어플리케이션을 통해 django 이해하기-2 이제 Django를 통해 다양한 투표 기능을 만들어볼 것이다. 저번까지 간단하게 전체 투표 화면을 만들어보았다. Choice 보기이제 각 투표 주제를 누르면 세부적인 질문이 나오는 기능을 구현해볼 것 이다.우선 views.py에 기능을 정의해준다. from django.shortcuts import render, get_object_or_404#맨 윗줄에 get_object_or_404를 사용하기위해 추가한다.#이전에 get_object_all은 모든 객체를 불러와 저장시키는 것이었다.#get_object_or_404는 특정 조건의 객체를 불러오는데 사용하며, 만약 만족하는 객체가 없다면 404 에러가 뜨게된다.def detail(request, qid): b=get_object_or_404(Questi.. 더보기
투표 어플리케이션을 통해 django 이해하기-1 Django란? Python을 기반으로 한 웹 구축 라이브러리 Django는 MTV 모델을 사용하며 의미는 다음과 같다. 투표 어플리케이션 생성 투표 어플리케이션 생성 예시를 통해 Django를 더 깊게 알아보자.해당 실습은 이클립스오 파이썬을 통해 기본적인 환경설정과 계정생성까지 완료했다는 가정 하에 진행된다. 프로젝트 우클릭-Django-Create application을 눌러준다. 원하는 어플리케이션 이름을 만들어준다. 위와 같은 여러 리스트가 생성된다. 우선 settings에 들어간다. 30~40줄에 있는 INSTALLED_APPS에 방금 설치한 application 이름을 추가시켜준다. application 생성이 완료되었다면 다음 application의 기능을 구현해보자. Django는 MTV.. 더보기
네트워크 프로그래밍-JSP(DB연동) JSP와 DB연동기존의 자바가 그저 데이터를 가져오기만 했다면, JSP를 이용해 DB 연동시 css, html등을 사용하여 꾸민 폼에 데이터를 입력이 가능하다. 간단하게 데이터를 테이블 형식으로 받아와보자. 다음 코드는 scott 계정의 student 테이블을 HTML테이블 형식으로 출력하는 코드이다. 학생 신상 명세서 학번이름과목 번호점수 명령어의 결과는 다음과 같다. 데이터를 수정, 입력하는 것도 비슷하게 진행하면된다.우선 데이터 입력 폼을 만들어본다. 신상 정보 업데이트 입력 폼//updateDate.jsp로 입력 데이터를 전송한다.NONAMESUBJECT_IDSCORE 식의 결과는 다음과 같다. 다음 정보를 입력하면 NO를 기준으로 해당 데이터를 업데이트 하는 폼이다. updateData.jsp는.. 더보기
네트워크 프로그래밍-tomcat 서버 연동, UTF-8 설정,JSP-form ㄴ자바의 대략적인 부분을 확인했으니 JSP로 넘어간다.JSP는 자바계열의 웹프로그래밍이다.HTML,CSS등이 웹을 꾸며준다면. JSP, PHP와 같은 프로그래밍은 뒤쪽에서 웹이 원활하게 돌아가게끔 해주는 프로그래밍 언어이다.예를들어 HTML,CSS로 로그인 양식을 만드는 것이 가능하며, 이것을 전송하고 전송한 것을 JSP를 통해 DB연동, 비교 등등이 가능하다.JSP를 사용하기 위해서 우선 톰캣서버 연동이 필요하다.우선 http://tomcat.apache.org/ 사이트에서 톰캣 서버를 다운 받자. 버전은 8.5를 기준으로 한다. 1. 이클립스를 EE Developer로 설치한다. 2. windows 탭의 preference-server-runtime Enviroment로 들어가 add를 누른다. 3... 더보기
네트워크 프로그래밍-자바(db 연동, STMT, PSTMT) 지난 번을 마지막으로 DB의 대략적인 내용을 파악할 수 있었다. 지금부터는 프로그래밍과 DB의 연동에 관해 공부한다.우선 JAVA와 DB의 연동부터!! 먼저 DB연동 전 간단한 환경 설정부터 해주자.DB 연동다음 경로로 들어가서 ojdbc5.jar를 복사해준다.(C:\oraclexe\app\oracle\product\11.2.0\server\jdbc\lib)jdbc는 자바와 DB를 연결해주는 클래스들의 모임이다.쉽게 말해 자바에서 DB를 연결해줄 수 있도록 하는 확장팩이다.다음 경로로 들어가 붙여넣기 해준다. (C:\Program Files\Java\jre1.8.0_191\lib\ext) 이제 이클립스를 실행하여 DB 연동을 시작해본다.우선 테스트부터 해본다. import java.sql.*; // ->.. 더보기
네트워크 프로그래밍-DB(equi, non equi, inner) JOIN이란?쉽게 말해 여러 테이블을 조회하는 것!! 이때 기준이 되는 값은 보통 primary key나 foreign key 이다. * primary key -> 기본키란 고유의 값 각 레코드를 구분해주는 기준이 되는 값 ex) 주민번호, ID * foreign key -> 외래키는 다른 테이블의 기본 키를 참조하는 형태로 사용하는 키 설명이 어려우니 실습으로 이해하자!!! Equi 조인Equi 조인이란 select 테이블명.출력하고자 하는 attribute.... from 테이블1, 테이블2 where 조건위와 같은 형태로 테이블을 조회하는 것 hr계정으로 접속해서 departments와 employees 테이블을 조회해보자!! 조회 결과를 보면 둘다 DEPARTMENT_ID를 가지고 있는 것을 확인.. 더보기
네트워크 프로그래밍-DB(집계함수와 group/정렬) 집계함수 집계함수란? 개수를 세거나, 합계를 구하거나, 평균, 최대/최솟값 등을 구하는 함수. STUDENT_ID STUDENT_NAME STUDENT_SCORE-------------- -------------------- -------------2017112 홍길순 3502017113 김철수 4002017114 김지연 420 netdream 계정에 들어가서 이전에 만든 school table을 다시 불러온다.school table의 내용은 위와 같다. count 함수: count 함수는 레코드의 갯수를 세주는 함수이다. SQL> select count(student_id) from school;student_id의 레코드가 몇개 있는지를 출력하라는 명령어COUNT(STUDENT_ID)---------.. 더보기