728x90
반응형

전체 글 193

Django(장고)에서 POST 방식의 데이터 저장

1. 템플릿에 답변 등록 폼 추가 앞서 작성해두었던 question_detail.html을 다음과 같이 수정해서 답변의 내용을 입력할 수 있는 텍스트창, 저장할 수 있는 "답변등록" 버튼을 추가해준다. 답변을 저장하기 위한 URL은 form 태그의 action 속성에 {% url 'pybo:answer_create' question.id %}로 지정해주었다. form 태그 바로 밑에 {% csrf_token %}은 보안에 관련된 항목으로 form으로 전송한 데이터가 실제 웹 페이지에서 작성한 데이터인지 판단해주는 가늠자 역할을 한다. 만약 해커가 엉뚱한 방법으로 데이터를 전송할 경우에는 서버에서 발행한 csrf_token 값과 해당 툴에서 보낸 csrf_token 값이 일치하지 않기 때문에 오류가 발생할..

Web/Django 2021.08.03

Django(장고) url 별칭과 네임스페이스 살펴보기

이번에는 Django URL 별칭에 대해 정리해볼 것이다. 이전 게시물에서는 템플릿에 다음과 같이 html 코드를 작성했다. {{ question.subject }} 하지만 만약 url 형식을 /pybo/{{ question.id }} 에서 /pybo/question/{{ question.id }} 형식으로 변경해야한다고 하자. 이러한 경우에는 해당 url이 사용된 모든 html 문서를 찾아서 변경해주어야한다. 따라서 이런 문제점을 해결하기 위해 URL 별칭과 네임인터페이스를 사용한다! 1. URL 별칭 URL 별칭을 사용하기 위해선 URL 매핑에 name 속성을 부여해야한다. /notes/urls.py를 다음과 같이 수정한다. from django.urls import path from . import..

Web/Django 2021.08.03

Amazon transcribe로 한국어 음성인식 Speech To Text(STT) 사용하기

프로젝트 진행 시 음성인식 기능을 포함해야해서 구글, 카카오, 네이버, ETRI, Mozilla 등등 정말 많은 STT API를 분석하고 실습해보았다. 다들 장단점이 있는 것 같다. 어떤 STT API는 정확도는 비교적 높지만, 제한 시간이 매우 짧았고, 또 어떤 STT API는 제한 시간이 비교적 길었지만 정확도가 비교적 떨어졌다. 따라서 이번에는 Amazon에서 제공하는 STT API를 사용해보려고 한다. AWS Transcribe의 경우에는 프리티어로 사용할 경우 매월 60분이 무료이다! 60분이 넘지 않도록 조심하자ㅎㅎ 1. 사전 준비 먼저 AWS transcribe를 이용하기 위해서는 음성파일을 올릴 S3 버킷이 생성되어있어야하고, AWS CLI가 설치되어있어야한다. 이 부분에 대해서는 아래 링..

AWS/실습 기록 2021.08.02

AWS CLI 설치 및 초기 설정하기

1. AWS CLI란? AWS CLI는 AWS 서비스를 관리할수 있는 통합도구이며, AWS를 Command Line Interface로 사용할 수 있어 간편하다. 2. AWS Access key 생성 이 부분은 이미 액세스 키가 이미 있다면 해당 액세스 키를 사용하면 되므로 건너뛰어도 된다. 계정 이름을 클릭하고 "내 보안 자격 증명"을 클릭한다. 그리고 아래 화면이 뜨면 "액세스 키"를 클릭한다. "새 액세스 키 만들기" 버튼을 클릭한 뒤 액세스 키를 다운로드 한다. 그리고 액세스 키 ID와 Secret 액세스 키는 잘 저장해두고 절대 잊어버리면 안된다!! 다운 받은 csv 파일에도 저장되어있으니 잘 보관하도록 하자! 3. AWS CLI 설치하기 pip install awscli로 바로 설치가 가능하지..

AWS/실습 기록 2021.08.02

AWS S3 버킷 생성하고 파일 업로드 및 삭제 방법 알아보기

1. AWS S3란? S3는 Simple Storage Service의 약자로, AWS에서 제공하는 파일 저장 인터넷 저장소이며 용량은 무제한이다. HTTP를 이용하여 파일 접근 및 업로드, 다운로드가 가능하다. S3는 버킷(Bucket)과 객체(Object)로 구성된다. ▶ 버킷(Bucket) : S3에서 생성할 수 있는 최상위 디렉토리로, 각 리전(Region)별로 생성 가능하고 버킷의 모든 이름은 모든 S3 Region에서 유일해야 하며 계정별로 100개까지 생성할 수 있다. 또한 버킷 안에 객체(Object)가 저장되고 디렉토리 생성이 가능하며 접속 제어 및 권한 관리가 가능하다. 즉, 쉽게 말해서 버킷은 S3에서 파일을 저장하는 폴더라고 생각하면 된다. ▶ 객체(Object) : S3에 데이터가..

AWS/실습 기록 2021.08.02

Django(장고) 템플릿과 데이터 조회 및 URL 매핑하기

1. 데이터 목록 notes/views.py 파일의 index 함수를 다음과 같이 작성한다. from django.shortcuts import render from .models import Question def index(request): question_list = Question.objects.order_by('-create_date') #create_date를 역순으로 정렬 context = {'question_list': question_list} return render(request, 'notes/question_list.html', context) Question은 이전 게시물에서 생성한 모델 이름이고, Question.objects.order_by(기준)로 데이터를 정렬할 수 있다. ..

Web/Django 2021.08.02

Django(장고) 관리자 계정 생성 및 관리자 페이지 사용하기

1. 슈퍼유저(superuser) 장고 관리자를 사용하기 위해선, 장고 관리자 화면에 접속할 수 있는 슈퍼유저를 먼저 생성해야함. 슈퍼유저 생성 명령어는 다음과 같다. python manage.py createsuperuser 다음과 같이 사용자 이름, 메일 주소, 패스워드를 설정해준다. 비밀번호를 간단한 것으로 설정하면 아래와 같이 경고 문자가 출력된다. 실제로는 이렇게 취약한 비밀번호를 사용하면 안되지만, 연습용이므로 y를 눌러 그대로 진행했다. 2. 장고 관리자 화면 python manage.py runserver 명령어를 터미널에 입력하여 로컬 서버를 구동한 후, http://localhost:8000/admin 페이지로 접속하면 다음과 같은 화면을 볼 수 있다. 앞서 설정한 사용자 이름과 비밀번..

Web/Django 2021.08.02

Suricata rule 구조 및 rule 작성 규칙 정리

1. Suricata rule 구조 Suricata rule은 크게 action, header, rule 옵션으로 나눌 수 있다. 예를 들어 아래와 같은 rule이 있다고 할 때 빨간색이 action, 초록색이 header, 파란색이 rule 옵션에 해당한다. drop tcp $HOME_NET any -> $EXTERNAL_NET any (msg:”ET TROJAN Likely Bot Nick in IRC (USA +..)”; flow:established,to_server; flowbits:isset,is_proto_irc; content:”NICK “; pcre:”/NICK .*USA.*[0-9]{3,}/i”; reference:url,doc.emergingthreats.net/2008124; cla..

Security/Suricata 2021.08.02

Django ORM을 활용한 모델(model) 생성 및 데이터 처리하기

모델(Model) 1. Django App migrate 하기 Django는 모델(Model)이라는 것을 이용해서 데이터베이스를 처리한다. 보통의 데이터베이스는 SQL 쿼리문을 통해 데이터를 추가, 수정, 삭제, 조회를 하지만 장고의 모델(Model)을 이용하면 이러한 쿼리문 없이 데이터를 쉽게 처리할 수 있다. settings.py를 보면 INSTALLED_APPS에서 설치된 앱들을 볼 수 있다. 아래 앱들은 장고 프로젝트 생성 시 기본적으로 설치되는 앱들이다. INSTALLED_APPS = [ 'django.contrib.admin', 'django.contrib.auth', 'django.contrib.contenttypes', 'django.contrib.sessions', 'django.cont..

Web/Django 2021.08.01

Pycharm에서 Django 설치 및 개발환경 세팅하고 서버 실행하기

1. Django 설치 powershell 또는 아나콘다 prompt 창에 다음과 같이 입력하여 설치한다. pip install django 2. 프로젝트 생성 장고에서 '프로젝트'는 하나의 웹사이트이고, 프로젝트 안에는 여러 개의 앱이 존재한다. 이 앱들이 모여 웹 사이트를 구성한다. 여기서 앱이란 관리자 앱, 인증 앱 등과 같이 장고가 기본으로 제공하는 앱과 개발자가 직접 만든 앱을 칭한다. (장고의 앱은 프로젝트를 구성하는 작은 단위의 기능) Pycharm을 실행한 뒤 New project를 클릭하여 새 프로젝트를 생성해준다. Location에 프로젝트를 생성할 경로를 선택하고, Virtualenv로 선택, 그리고 아래 Location이 빨간색 밑줄처럼 venv로 설정되어있는지 확인한다. 이제 Cr..

Web/Django 2021.08.01
728x90
반응형