반응형

전체 글 33

django 데이터베이스 에러

django에서는 기본적으로 sqlite3을 데이터베이스로 사용하도록 설정되어있다. 해당 앱의 settings.py를 열면 관련 정보를 확인할 수 있다. 문제는 가끔 칼럼을 수정한다거나 데이터베이스를 수정한 후에 관리자 admin으로 접속하려고 하면 no such table no such column 위와 같은 에러가 발생하는 경우가 있다. 그럴 경우엔 다음과 같이 처리한다. 1 서버가 돌아가는 경우엔 서버를 멈추고 2 마이그레이션으로 생성된 initial.py와 db.sqlite3을 삭제 3 python manage.py makemigrations 어플이름 oython manage.py migrate 실행한다. 4 서버를 재가동 다시 관리자 화면으로 접속하면 에러가 해결된 것을 알 수 있다.

프로그래밍 2022.02.13

django chap3-2 데이터베이스 관리툴

모델과 테이블도 작성하였다. 이를 관리하기 위해 django에는 관리 기능을 제공하고 있다. 관리 툴을 사용하기 위해 관리자를 등록 python manage.py createsuperuser 위를 실행하면 다음 항목을 입력할 필요가 있다. 1. username 2. email address 3. password 4. password(again) Friend 등록하기 Friend모델을 관리 툴에서 이용하기 위해 등록하는 작업이 필요하다. hello/admin.py 편집 from django.contrib import admin from .models import Friend admin.site.register(Friend) admin.site.register가 등록 처리를 해준다. 관리 페이지 접속 htt..

프로그래밍 2022.01.10

django chap3-1 모델과 데이터베이스

django에서 사용 가능한 데이터베이스에는 MySQL, PostgreSQL, SQLite가 있다. MySQL, PostgreSQL는 서버 타입의 데이터베이스이며 전용 프로그램을 가동시켜 웹서버와 데이터베이스 서버 간에 처리를 주고받는다. SQLite는 데이터베이스 파일에 직접 접근하는 엔진타입이라고 한다. 사이즈가 작기 때문에 스마트폰에서 사용된다. Python에는 SQLite가 표준라이브러리로 들어있다. django에서도 SQLite로 충분하다. 데이터베이스 설정 확인 settings.py파일안에 DATABASES변수가 존재하는데 데이터베이스 정보를 확인할 수 있다. ENGINE은 데이터베이스의 클래스를 적어놓는다. NAME은 이용하고자하는 데이터베이스의 이름을 적는다. os.path.join은 첫 ..

프로그래밍 2022.01.10

일본자산운용NISA

iDeCo는 회사로부터 서류 절차가 존재하여 번거롭거나 수급하는 데 있어서 나이가 60세 이상 이어야 한다는 조건이 있기에 귀찮을 수도 있다. iDeCo보다는 조건이 느슨한 플랜인 NISA가 있다. NISA - Nippon Individual Savings Account. 일본어로는 소액투자비과세제도(小額投資非課税制度)라고 한다. 보통 투자의 이익이 발생하면 약 20%는 세금이 부과되는데 NISA는 이 세금이 면제된다. NISA는 투자상품이 아닌 투자를 위한 계좌라고 생각하면 된다. 적립 NISA - 적립하는데 특화된 NISA 계좌로써 일반 NISA에 단점을 보완하여 2018년에 새로 만들어진 제도라고 할 수 있다. 일반 NISA는 장기투자에 적합하지 않고 상품 종류가 많아 투자 초보자들에겐 인기가 없었..

티끌모으기 2022.01.10

일본개인연금 iDeCo

일본에서 회사원으로 산다는 것은 경제적으로 보았을 때 한국과 별반 다르지 않다. 일본은 물가가 안정적이라 생각되지만 이직을 하지 않으면 급여도 잘 안 오르는 것 같다. 물론 회사 상황에 따라 다르다. 최근 뉴스를 보니 한국의 평균임금이 일본의 평균임금을 앞질렀다는 소식을 들으며 앞으로의 노후를 어떻게 준비해야 하는가에 대한 고민도 적지 않다. 매달 급여를 받을때 후생연금, 주민세, 의료보험료를 납부하지만 앞으로가 불안하기만 하고 국가로부터 받을 노후연금도 기대수명이 늘어나는 이 시대에 언제부터 받을지도 확신할 수 없다. 그래서 개인적으로 준비할 수 있는 대책이 있을까 하던 중 iDeCo를 알게 되어 간단하게나마 정보를 기록하고자 한다. iDeCo란? Individual Defined Contributio..

티끌모으기 2022.01.10

django chap2-9 여러가지 필드

Form의 여러 가지 필드 CharField, EmailField, IntegerField, FloatField, URLField require 필수항목 설정. require=true면 필수항목으로 설정 min_length, max_length 최소글자수, 최대글자수 설정 DateField, TimeField, DateTimeField 시간, 날짜를 일정한 형식으로 입력하지 않으면 안 된다. 날짜 형식 - 2001-01-01, 01/01/2001, 01/01/01 시간 형식 - 12:34, 12:34:56 체크박스 BooleanField로 사용 가능 hello/forms.py 수정 class HelloForm(forms.Form): check = forms.BooleanField(label='check'..

프로그래밍 2022.01.09

django chap2-8 Form클래스

Form클래스 사용하기 브라우저에서 정보를 입력하고 송신한 후에 잘못된 정보가 입력된 것을 알고 뒤로 가기를 하면 입력된 내용이 남아있어 편리하다고 느낀 경우가 있을 것이다. 이때를 위해 django에는 Form클래스가 존재한다. forms.py 작성 from django import forms class HelloForm(forms.Form): name = forms.CharField(label='name') mail = forms.CharField(label='mail') age = forms.IntegerField(label='age') django의 forms클래스를 계승하여 HelloForm클래스를 만들었다. 브라우저에서 입력받을 리스트를 name, mail, age로 추가. 텍스트인 경우엔 C..

프로그래밍 2022.01.09

django chap2-7 form송신

index.html에 form을 준비 {% load static %} {{title}} {{msg}} {% csrf_token %} message: action="{% url 'form' %}" 여기서 'form'은 urlpatterns에 등록되어 있는 주소이다. {% csrf_token %} csrf는 Cross-Site Request Forgeries를 의미하며, 제대로 된 폼으로 부터 접근된 것인지를 체크해줌. hello/views.py 수정 from django.shortcuts import render from django.http import HttpResponse def index(request): params = { 'title':'Hello/Index', 'msg':'이름은?', } re..

프로그래밍 2022.01.09

django chap2-6 뷰 템플릿

정적 파일(static) 사용하기 css, javascript, 이미지 파일 등을 사용하기 위한 방법을 알아보자. hello폴더 밑에 static폴더를 작성한다. 그 밑에 다시 hello폴더를 작성한다. 그 밑에 다시 css폴더를 작성한다. template폴더 밑에 폴더를 작성하는 방법과 유사하다. style.css파일 작성 body { color:gray; font-size: 16pt; } h1 { color: red; opacity: 0.2; font-size: 60pt; margin-top: -20px; margin-bottom: 0px; text-align: right; } p { margin: 10px; } a { color: blue; text-decoration: none; } index.h..

프로그래밍 2022.01.08

django chap2-5 뷰 템플릿

템플릿에 변수 전달하기 template/hello/index.html을 다음과 같이 수정한다. {{title}} {{msg}} 타이틀과 본문에 변수를 지정하였다. index 수정 hello/views.py의 index함수를 다음과 같이 수정한다. from django.shortcuts import render from django.http import HttpResponse def index(request): params = { 'title':'Hello/Index', 'msg':'샘플로 작성한 페이지입니다.', } return render(request, 'hello/index.html', params) params배열에 title, msg를 추가하였고 render함수를 보면 params배열을 전달하는..

프로그래밍 2022.01.08
반응형