비슷하게 들리는건 나뿐인가
2015년 10월 5일 월요일
"jeff bernat - groovin", "스폰서 ($ponsor) - 으뜨거따시" 비슷하게 들림 ;;
jeff bernat - groovin, 스폰서 ($ponsor) - 으뜨거따시
2015년 6월 22일 월요일
django에서 email 보내기
참고 : https://docs.djangoproject.com/en/1.8/topics/email/
이글은 장고가 이미 설치되어 있고 프로젝트가 이미 만들어 져 있는 상황이라 가정하고 진행한다.
http://greenyant.blogspot.kr/2014/05/django.html
참고에 있는 이메일 보내기를 해서는 메일이 날아가지 않는다.
sendmail 을 설치 해야 한다.
sudo apt-get install sendmail
설치 후에 manage.py shell을 이용해서 sendmail을 테스트해보면 가는 것을 확인할 수 있다.
from django.core.mail import send_mail
send_mail('Subject here', 'Here is the message.', 'from@example.com', ['to@example.com'], fail_silently=False)
추신 : MAC의 경우
sudo postfix start
http://dashasalo.com/2011/05/29/django-send_mail-connection-refused-on-macos-x/
이글은 장고가 이미 설치되어 있고 프로젝트가 이미 만들어 져 있는 상황이라 가정하고 진행한다.
http://greenyant.blogspot.kr/2014/05/django.html
참고에 있는 이메일 보내기를 해서는 메일이 날아가지 않는다.
sendmail 을 설치 해야 한다.
sudo apt-get install sendmail
설치 후에 manage.py shell을 이용해서 sendmail을 테스트해보면 가는 것을 확인할 수 있다.
from django.core.mail import send_mail
send_mail('Subject here', 'Here is the message.', 'from@example.com', ['to@example.com'], fail_silently=False)
추신 : MAC의 경우
sudo postfix start
http://dashasalo.com/2011/05/29/django-send_mail-connection-refused-on-macos-x/
2015년 4월 23일 목요일
2015년 4월 13일 월요일
django-crontab quick start, model로 check
참고 :
https://github.com/kraiz/django-crontab
http://django-cron.readthedocs.org/en/latest/installation.html
Ubuntu에 django-crontab 처음 사용해 볼 때, 동작확인 할 수 있는 튜토리얼 입니다.
https://github.com/kraiz/django-crontab
http://django-cron.readthedocs.org/en/latest/installation.html
Ubuntu에 django-crontab 처음 사용해 볼 때, 동작확인 할 수 있는 튜토리얼 입니다.
기본 명령어 모음
sudo apt-get update sudo apt-get -y install vim sudo apt-get -y install build-essential python-all-dev python-dev python-setuptools libpq-dev libev-dev sudo apt-get -y install git openssh-server sudo easy_install pip sudo apt-get install -y python-virtualenv virtualenvwrapper sudo apt-get install -y libtiff4-dev libjpeg8-dev zlib1g-dev libfreetype6-dev liblcms1-dev libwebp-dev mkdir ~/.virtualenvs export WORKON_HOME=$HOME/.virtualenvs export PIP_VIRTUALENV_BASE=$WORKON_HOME (terminal 재시작;;) cd ~/.virtualenvs mkvirtualenv temp_env |
기본 패키지 설치
pip install django
pip install django-crontab
프로젝트 생성
django-admin.py startproject project
python manage.py migrate
python manage.py createsuperuser
myapp 만듦
cd project
python manage.py startapp myapp
파일들 수정
myapp/models.py
from django.db import models
# Create your models here.
class CronLog(models.Model):
date = models.DateTimeField(auto_now_add=True, blank=True)
def __unicode__(self):
return self.date.ctime()
|
myapp/admin.py
from django.contrib import admin from myapp.models import * # Register your models here. admin.site.register(CronLog) |
project/settings.py
...
INSTALLED_APPS = (
...
'django_crontab',
'myapp',
)
CRONJOBS = [
('*/5 * * * *', 'myapp.cron.my_scheduled_job')
]
...
|
myapp migration 후 crontab 등록, 실행
python manage.py makemigrations
python manage.py migrate
python manage.py crontab add
python manage.py runserver
2015년 2월 21일 토요일
mezzanine local에 install하기
참고 :
http://rodmtech.net/docs/mezzanine/a-mezzanine-tutorial-take-2/
http://www.rosslaird.com/blog/first-steps-with-mezzanine/
가상 머신에 ubuntu desktop에 mezzanine을 fab install로 설치하는 방법을 정리해 보았다.
설치시 id 는 ubuntu로 설정하였다.
git server도 local에 설치하고,
가상 환경도 임시로 만들어 진행한다.
아래 실행할 명령어 정리한다.
그 후 아래와 같이 setting.py를 수정한다.
수정 후 실행할 명령은 아래 정리한다.
그리고 웹브라우저를 열어 http://localhost 으로 들어가서 확인한다.
http://rodmtech.net/docs/mezzanine/a-mezzanine-tutorial-take-2/
http://www.rosslaird.com/blog/first-steps-with-mezzanine/
가상 머신에 ubuntu desktop에 mezzanine을 fab install로 설치하는 방법을 정리해 보았다.
설치시 id 는 ubuntu로 설정하였다.
git server도 local에 설치하고,
가상 환경도 임시로 만들어 진행한다.
아래 실행할 명령어 정리한다.
명령어 모음
sudo apt-get update sudo apt-get -y install vim sudo apt-get -y install build-essential python-all-dev python-dev python-setuptools libpq-dev libev-dev sudo apt-get -y install git openssh-server sudo easy_install pip sudo apt-get install -y python-virtualenv virtualenvwrapper sudo apt-get install -y libtiff4-dev libjpeg8-dev zlib1g-dev libfreetype6-dev liblcms1-dev libwebp-dev mkdir ~/.virtualenvs export WORKON_HOME=$HOME/.virtualenvs export PIP_VIRTUALENV_BASE=$WORKON_HOME (terminal 재시작;;) cd ~/.virtualenvs mkvirtualenv temp_env pip install mezzanine south django-compressor fabric sudo mkdir -p /opt/git/myproject.git cd /opt/git/myproject.git sudo git --bare init sudo chown -R ubuntu:ubuntu . cdvirtualenv git clone /opt/git/myproject.git project mezzanine-project project cd project git config --global user.email "ubuntu@example.com" git config --global user.name "ubuntu" git add . git commit -m "first commit" |
그 후 아래와 같이 setting.py를 수정한다.
setting.py
...
ALLOWED_HOSTS = ["localhost"]
...
TIME_ZONE = "Asia/Seoul"
...
DATABASES = {
"default": {
"ENGINE": "django.db.backends.postgresql_psycopg2",
"NAME": "rodmtech_net",
"USER": "rodmtech_net",
"PASSWORD": "1234",
"HOST": "localhost",
"PORT": "5432",
}
}
...
from local_settings import SECRET_KEY, NEVERCACHE_KEY
FABRIC = {
"SSH_USER": "ubuntu",
"HOSTS": ALLOWED_HOSTS[:1],
"DOMAINS": ALLOWED_HOSTS,
"REPO_URL": "/opt/git/myproject.git",
"VIRTUALENV_HOME": "/home/ubuntu/.virtualenvs",
"PROJECT_NAME": "rodmtech_net",
"REQUIREMENTS_PATH": "requirements.txt",
"GUNICORN_PORT": 8000,
"LOCALE": "en_US.UTF-8",
"DB_PASS": "1234",
"ADMIN_PASS": "default",
"SECRET_KEY": SECRET_KEY,
"NEVERCACHE_KEY": NEVERCACHE_KEY,
}
|
수정 후 실행할 명령은 아래 정리한다.
명령어 모음
git add . git commit -m "modify setting.py" git push origin master fab all sudo unlink /etc/nginx/sites-enabled/default sudo service nginx restart |
그리고 웹브라우저를 열어 http://localhost 으로 들어가서 확인한다.
2015년 2월 19일 목요일
강용석의 고소한 19 120회, 세계명문공립고
1 호주 과학수학 영재학교(ASMS)
플린더스 대학의 부속 고등학교 임
2 독일 공교육
하웁트 슐레 - 기능인 학교(주립중학교)
레알 슐레 - 실과 학교
김나리움 - 일반계고
사립고는 1년에 4천만원. 교육 수준 별 차이 없음
독일 - 객관적, 비판적으로 생각하는 교육 위주, 수학 과학이 약함
3 오렌지 카운티(미국에 국내 유명인이 몰리는 로열 학군)
위즈니 고등학교교, 써니힐스 고등학교 등 명문학교 많음음
사립보다 공립이 더 시설이 좋음
한국 특목고 수준임
옥스퍼드 아카데미의 경우, 성적이 저조하면 전학 보내버림
4 대만 - 건국고급중학교(고등학교명칭이 고급중학교), 들어가기만해도 가문의 영광임
5 중국의 입시 사육장
중국 수능시험 '가오카오' 6월에 치뤄짐.
사흘동안 보고, 주관식 시험이 많아 난이도 높은 편
'가오카오 뉴샤오'(가오카오 대비를 위한 입시 명문고, 입시사육장 정도의 뜻)
점심시간 1시간 제외하고 밤10시까지 종일 수업(하루 16시간)
하교 후 숙제, 복습 등으로 잦은 밤샘
격정교육이라 함.
헝쉐이 고등학교(허베이 성에 위치)
6 추첨으로 대학가는 네덜란드
대학교육 경쟁이 없음
고 3 말에 졸업시험을 보고 합격하면 누구나 대학 입학 가능
인기 있는 전공은 추첨해서 뽑음(모두에게 기회를 주기 위함)
의회에서 성적순으로 자르자고 토론하기도 함
7 네덜란드는 공교육 천국
책가방이 없음
예습한다고 책을 주지 않음
학기가 끝나면 책을 반납해야 함
음악은 음학학교에서, 스포츠는 센터(클럽)에서 하고 시에서 지원이 많음
초등때 맛보기 영어시키고
중등 때 수업이 그냥 영어임
애가 일주일에 2000개씩 단어 외우고 있었음
계속 구두로 테스트함
중학교 입학 시험을 봄 -> 인생이 결정됨
30명 중 5명이 인문계 중, 고등학교로 진학
20%~30%가 중간학교(상위보통학교)로 진학
50%~60%가 중, 하위 직업학교로 감
8 페랑디학교(프랑스 중심가 6구) - 요리계의 하버드
9 라구아디아 예술고등학교(뉴욕 링 컨센터) - 영화 페임의 무대
10 뉴욕 브롱크스 과학 고등학교
로벨 수상자만 8명 배출
우리나라 과고의 모델임
입학조건이 바늘 구멍임
뉴욕시 학생만 가능
특수고교입학시험(SHSAT)를 통과해야 지원서 작성
11 헌터 칼리지 하이스툴(뉴욕 맨허튼 어퍼 이스트 사이드에 위치)
한 학년당 교육과정 2~3개월 사이에 끝남
나머지 7~8개월은 개별 연구과정을 수행한다
12 필립스 엑시터 - 버겐 카운티 아카데미
13 토마스 제퍼슨 고등학교, 미국 공립고
과학과 수업중심
최고학년이 12학년
대학 수준의 과제를 연구함
14 스트리디바리를 키우는 학교
이탈리아 밀나노 크레오나 지역, 수업료가 거의 없음, 중도탈락자가 많음
* 마그넷 학교 - 학생들을 자석처럼 끌어들이는 학교
15 바가노바 발레스쿨, 세계 최고 발레학교
스파르타식 교육, 평가가 가차없음
60명 입학하면 20명정도가 졸업함
졸업 후 100% 발레단 입단
16 앙리카르트, 프랑스 최초 고등학교
기초 문학, 인문을 중요시함
17 루이르 그랑, 수업과 행정을 분리했음
프랑스 5구 - 교육열 심함
18 귀넷 수학과학 기술고등학교(조지아주 로렌스빌)
엄청난 양의 숙제, 끊임없이 공부
2/3 가 자퇴함.
30%가 급식비 지원 받는 만큼 가난함
19 제임스루스 농업고등학교, 호주 최고 명문고 농고.
호주의 HSC 랭킹 1위
농업 관련하여 실제로 체험할 수 있다.
96%가 이민자 학생임
플린더스 대학의 부속 고등학교 임
2 독일 공교육
하웁트 슐레 - 기능인 학교(주립중학교)
레알 슐레 - 실과 학교
김나리움 - 일반계고
사립고는 1년에 4천만원. 교육 수준 별 차이 없음
독일 - 객관적, 비판적으로 생각하는 교육 위주, 수학 과학이 약함
3 오렌지 카운티(미국에 국내 유명인이 몰리는 로열 학군)
위즈니 고등학교교, 써니힐스 고등학교 등 명문학교 많음음
사립보다 공립이 더 시설이 좋음
한국 특목고 수준임
옥스퍼드 아카데미의 경우, 성적이 저조하면 전학 보내버림
4 대만 - 건국고급중학교(고등학교명칭이 고급중학교), 들어가기만해도 가문의 영광임
5 중국의 입시 사육장
중국 수능시험 '가오카오' 6월에 치뤄짐.
사흘동안 보고, 주관식 시험이 많아 난이도 높은 편
'가오카오 뉴샤오'(가오카오 대비를 위한 입시 명문고, 입시사육장 정도의 뜻)
점심시간 1시간 제외하고 밤10시까지 종일 수업(하루 16시간)
하교 후 숙제, 복습 등으로 잦은 밤샘
격정교육이라 함.
헝쉐이 고등학교(허베이 성에 위치)
6 추첨으로 대학가는 네덜란드
대학교육 경쟁이 없음
고 3 말에 졸업시험을 보고 합격하면 누구나 대학 입학 가능
인기 있는 전공은 추첨해서 뽑음(모두에게 기회를 주기 위함)
의회에서 성적순으로 자르자고 토론하기도 함
7 네덜란드는 공교육 천국
책가방이 없음
예습한다고 책을 주지 않음
학기가 끝나면 책을 반납해야 함
음악은 음학학교에서, 스포츠는 센터(클럽)에서 하고 시에서 지원이 많음
초등때 맛보기 영어시키고
중등 때 수업이 그냥 영어임
애가 일주일에 2000개씩 단어 외우고 있었음
계속 구두로 테스트함
중학교 입학 시험을 봄 -> 인생이 결정됨
30명 중 5명이 인문계 중, 고등학교로 진학
20%~30%가 중간학교(상위보통학교)로 진학
50%~60%가 중, 하위 직업학교로 감
8 페랑디학교(프랑스 중심가 6구) - 요리계의 하버드
9 라구아디아 예술고등학교(뉴욕 링 컨센터) - 영화 페임의 무대
10 뉴욕 브롱크스 과학 고등학교
로벨 수상자만 8명 배출
우리나라 과고의 모델임
입학조건이 바늘 구멍임
뉴욕시 학생만 가능
특수고교입학시험(SHSAT)를 통과해야 지원서 작성
11 헌터 칼리지 하이스툴(뉴욕 맨허튼 어퍼 이스트 사이드에 위치)
한 학년당 교육과정 2~3개월 사이에 끝남
나머지 7~8개월은 개별 연구과정을 수행한다
12 필립스 엑시터 - 버겐 카운티 아카데미
13 토마스 제퍼슨 고등학교, 미국 공립고
과학과 수업중심
최고학년이 12학년
대학 수준의 과제를 연구함
14 스트리디바리를 키우는 학교
이탈리아 밀나노 크레오나 지역, 수업료가 거의 없음, 중도탈락자가 많음
* 마그넷 학교 - 학생들을 자석처럼 끌어들이는 학교
15 바가노바 발레스쿨, 세계 최고 발레학교
스파르타식 교육, 평가가 가차없음
60명 입학하면 20명정도가 졸업함
졸업 후 100% 발레단 입단
16 앙리카르트, 프랑스 최초 고등학교
기초 문학, 인문을 중요시함
17 루이르 그랑, 수업과 행정을 분리했음
프랑스 5구 - 교육열 심함
18 귀넷 수학과학 기술고등학교(조지아주 로렌스빌)
엄청난 양의 숙제, 끊임없이 공부
2/3 가 자퇴함.
30%가 급식비 지원 받는 만큼 가난함
19 제임스루스 농업고등학교, 호주 최고 명문고 농고.
호주의 HSC 랭킹 1위
농업 관련하여 실제로 체험할 수 있다.
96%가 이민자 학생임
책문 - 141126 JTBC 뉴스 앵커브리핑
오늘(26일) 앵커브리핑이 주목한 단어는 '책문'(策問)입니다.
조선시대 왕이 관료를 뽑을 때 출제한 일종의 논술 시험 문제를 말합니다.
당시 왕들은 이런 문제들을 냈다고 하더군요
그대가 공자라면 어떻게 정치를 하겠는가
중종이 출제한 시험 문제입니다.
또 당시 30대였던 광해군은 이런 문제를 냈습니다.
섣달 그믐밤의 서글픔, 그 까닭은 무엇인가
이런 책문은 내놨습니다.
당시에 여든을 넘긴 급제자가 나온 것이 화제가 됐을 만큼
암기와 벼락치기로는 절대 풀 수 없는 문제입니다.
수많은 독서와 또 사색을 통해야만 답안을 써 넣을 수 있는 문제들
선비들의 학문적인 깊이를 보여주는 사례라고 할 수 있겠죠
수능 출제방식을 재검토하라
어제 박근혜대톤령이 이런 지시를 내렸습니다.
무려 4만명이 응시한 수능은 올해 2년연속 출제 오류 사고를 냈습니다.
실수 안하기 경쟁이 되어버린 수능시험이
정작 출제에서 실수를 저지른 셈이었죠.
수능이 아니라 무능, 또는
수학능력시험이 아니라 수학능력실험이라는 비아냥이 나올 만큼
수능은 어느새 조롱거리로 추락을 했습니다.
미래학자 앨빈토플러가 이런 말을 했더군요.
한국학생들은 하루 열 시간이상을 필요치 않은 지식을 배우느라고 허비하고 있다.
아마도 금방 대책은 나올겁니다.
출제방식을 바꾸라는 대통령의 지시가 있었고
또 제도에 대한 문제점이 붉어질때 마다
어떤 식으로든 해법은 나왔으니까요.
그러나 지금 우리는 단순히 수능 출제방식을
바꾸는 것을 넘어서 보다 근본적인 고민을 시작해야할 것 같습니다.
단 한번의 시험으로 12년 배움의 결과를 측정하는 것이 마땅한 것인가
그리고 그 시험을 통해서 64만 청춘의 인생 등급을 매기는 것이 합당한 가
시대의 과제는 이렇게 무겁고도 깊습니다.
여기서 다시 조선시대 책문을 꺼내보겠습니다.
우리의 교육제도는 어떠하며 어떻게 개선해야 할지 말해보라
1558년 명종 13년 생원회시에 출제된 문제입니다.
아, 그때도 이런 고민이 있었던 거군요
지금하고도 비교안되는 그런 시대에도 그런 고민은 분명히 있었던 모양입니다.
그리고 이시험에서 급제한 조정도는 책문에서 이렇게 답했습니다.
수 많은 사람을 한꺼번에 경쟁시켜 등용하고
그 다음엔 의심치 않으니
교육이 쇠퇴하는 주된 원인은 바로 이것 때문이다.
2014년 12월 13일 토요일
python-social-auth사용하여 django에 google 계정 연동하기
참조 :
google계정 php 연결 - http://www.joinc.co.kr/modules/moniwiki/wiki.php/man/12/oAuth2/Google
twittter계정 django 연결 - https://realpython.com/blog/python/adding-social-authentication-to-django/
http://python-social-auth.readthedocs.org/en/latest/backends/google.html
기본세팅은
위 참조 twitter계정 django 연결 참조
config.py에 설정
google계정 php 연결 - http://www.joinc.co.kr/modules/moniwiki/wiki.php/man/12/oAuth2/Google
twittter계정 django 연결 - https://realpython.com/blog/python/adding-social-authentication-to-django/
http://python-social-auth.readthedocs.org/en/latest/backends/google.html
기본세팅은
위 참조 twitter계정 django 연결 참조
config.py에 설정
2014년 9월 6일 토요일
Fabric을 이용하여 Ubuntu 서버에 Simple하게 FIle 만들기
참고 : http://docs.fabfile.org/en/1.9/tutorial.html
fabric은 이미 설치되어 있다고 가정
local 컴퓨터 파일
로컬에서 명령
fabric은 이미 설치되어 있다고 가정
local 컴퓨터 파일
fabfile.py
from fabric.api import cd, run
def simple_file_test():
code_dir ="~"
with cd(code_dir):
run("touch hello_fab.txt")
|
로컬에서 명령
greenyant-Mac:test greenyant$ fab simple_file_test
No hosts found. Please specify (single) host string for connection: ubuntu@192.168.1.222 (서버 아이디@서버 ip주소)
[ubuntu@192.168.1.222] run: touch hello_fab.txt
[ubuntu@192.168.1.222] Login password for 'ubuntu': (서버 패스워드 입력)
Done.
Disconnecting from 192.168.1.222... done.
서버에서 hello_fab.txt 파일 생성되었는지 확인
2014년 7월 8일 화요일
Django와 함께하는 Jquery Ajax의 simple한 예제
참고 :
http://stackoverflow.com/questions/5304517/ajax-post-in-django-framework
http://api.jquery.com/jquery.ajax/
http://stackoverflow.com/questions/5304517/ajax-post-in-django-framework
http://api.jquery.com/jquery.ajax/
ajaxtest.html
|
views.py
def ajaxtest(request):
if request.is_ajax():
data = "You click " + request.GET['click'] + " button"
import json
return HttpResponse(json.dumps({'message':data}), 'application/json')
return render(request, 'myapp/ajaxtest.html')
|
2014년 6월 18일 수요일
2014년 6월 15일 일요일
Mathjax를 이용해 수식을 타이핑해서 확인할 수 있는 HTML 코드
참고 :
http://docs.mathjax.org/en/v1.1-latest/typeset.html
이어지는 글 : http://greenyant.blogspot.kr/2014/05/html_23.html
http://docs.mathjax.org/en/v1.1-latest/typeset.html
이어지는 글 : http://greenyant.blogspot.kr/2014/05/html_23.html
| It's not working now. |
코드
|
2014년 6월 11일 수요일
열 추가 삭제되는 테이블 django formset과 연동
참고 :
자바 코드예제 : https://djangosnippets.org/snippets/1389/
formsets 다큐먼트 : https://docs.djangoproject.com/en/1.6/topics/forms/formsets/
행 추가삭제 관련 블로깅 : http://greenyant.blogspot.kr/2014/05/table.html
이어지는 글 : http://greenyant.blogspot.kr/2014/06/django-formsets.html
자바 코드예제 : https://djangosnippets.org/snippets/1389/
formsets 다큐먼트 : https://docs.djangoproject.com/en/1.6/topics/forms/formsets/
행 추가삭제 관련 블로깅 : http://greenyant.blogspot.kr/2014/05/table.html
이어지는 글 : http://greenyant.blogspot.kr/2014/06/django-formsets.html
views.py
from django.forms.formsets import formset_factory
from myapp.forms import *
def home(request):
ArticleFormSet = formset_factory(ArticleForm, extra=2)
formset = ArticleFormSet()
return render(request, 'myapp/index.html', {'formset':formset})
|
form.py
from django import forms
class ArticleForm(forms.Form):
title = forms.CharField()
pub_date = forms.DateField()
|
index.html
|
django formsets의 기초적인 사용
참고 :
https://docs.djangoproject.com/en/1.6/topics/forms/formsets/
formset은 form을 여러개 만들어 사용할때 사용한다.
이 글은 django 프로젝트를 만들어 form을 만드는 방법을 알아야 볼 수 있다.
(djagno 프로젝트 만들기 블로그 링크 : http://greenyant.blogspot.kr/2014/05/django.html
django form 관련 다큐먼트 : https://docs.djangoproject.com/en/1.6/topics/forms/)
여기서 사용한 프로젝트명은 website로 하였고 myapp을 만들어 사용하였다.
myapp->templates->myapp 만듦
myapp -> forms.py 만듦
setting.py에 myapp 추가
이와 같이 나타나며 페이지 소스를 확인해보면 아래와 같이 나타난다.
https://docs.djangoproject.com/en/1.6/topics/forms/formsets/
formset은 form을 여러개 만들어 사용할때 사용한다.
(djagno 프로젝트 만들기 블로그 링크 : http://greenyant.blogspot.kr/2014/05/django.html
django form 관련 다큐먼트 : https://docs.djangoproject.com/en/1.6/topics/forms/)
여기서 사용한 프로젝트명은 website로 하였고 myapp을 만들어 사용하였다.
myapp->templates->myapp 만듦
myapp -> forms.py 만듦
setting.py에 myapp 추가
website/setting.py
...
INSTALLED_APPS = (
...
'django.contrib.staticfiles',
'myapp',
)
...
|
website/urls.py
...
urlpatterns = patterns('',
...
url(r'^$', 'myapp.views.home'),
url(r'^admin/', include(admin.site.urls)),
)
|
myapp/forms.py
from django import forms
class ArticleForm(forms.Form):
title = forms.CharField()
pub_date = forms.DateField()
|
myapp/views.py
from django.shortcuts import render
from django.forms.formsets import formset_factory
from myapp.forms import *
def home(request):
ArticFormSet = formset_factory(ArticleForm, extra=3)
formset = ArticFormSet()
return render(request, 'myapp/index.html', {'formset':formset})
|
myapp/templates/myapp/index.html
{{ formset.management_form }}
{% for form in formset %}
{{form.as_p}}
{% endfor %}
|
이상태로 run하여 확인하면
이와 같이 나타나며 페이지 소스를 확인해보면 아래와 같이 나타난다.
페이지 소스
|
이어지는 글 :
2014년 5월 30일 금요일
django 프로젝트를 mysql로 연결하고 mysql-workbench로 보기
이 과정은 앞서 우분투에 설치한 django project를 기준으로 진행되었다.
(링크 : http://greenyant.blogspot.kr/2014/05/django.html )
먼저 mysql을 설치한다.
sudo apt-get -y install mysql-server mysql-client
설치 도중 root 비밀번호 입력이 뜬다.
본 예제는 "1111" 을 사용하였다.
앞으로 비밀번호를 사용하는 것을 보여줘야하기 때문에 단순한 비번을 사용하였다.
설치 후 아래 명령으로 동작 확인.
mysql -u root -p
(비번 입력)
mysql-workbench를 우분투 소프트웨어 센터에서 검색해서 설치한다.
더 많은 정보를 누르면 아래 그림과 같이 자세한 정보를 볼 수 있다.
설치하고나서 실행할 때는 설명에 써있는 것처럼 터미널에서
mysql-workbench 명령어를 입력한다.
mysql workbench를 실행하면 아래와 같은 화면이 뜬다.
로컬에 설치한 mysql로 연결하기 위하여 "New Connection"을 누른다.
여기서 나는 Connection Name에 "localDB"라고 입력 했음.
그러면 아래와 같이 메인창에 방금 만든 localDB 가 뜬다.
떠블 클릭해서 입장~
처음에 기본적으로 만들어져있는 SQL File 창에 SQL 문을 입력하고 번개 표시를 누른다.
아래와 같이 현재 설치되어 있는 데이터 베이스를 보는 명령을 실행하면
아래에 표로 표시가 된다.
확인이 되었으면 쿼리문을 아래와 같이 보내어
django_db(임의로 지정한 것임)를 만든다.
오른쪽 SCHMAS에 새로고침을 눌러 생성한 DB를 확인한다.
여기서 django_db의 encoding을 맞추어 준다.
이부분을 설정하지 않으면 나중에 만들 테이블에도 문제가 생겨
django의 admin페이지에서 한글로 수정하지 못하는 웃지 못할 일이 벌어진다.
Apply버튼을 누르면 실행할 SQL문이 나오는데,
사실 이 SQL만 따로 실행해도 된다.
드디어 만들어 놓은 django project를 사용하자.
Aptana Studio에 올려서 하는 방식으로 설명한다.
이것은 아래 링크를 통해 설치하는 것을 볼 수 있다.
(링크 : http://greenyant.blogspot.kr/2014/05/aptana.html )
Aptana Studio를 실행해서 Import Project를 통해 앞서 만든 django 프로젝트를 연다.
열었으면 setting.py 문서를 열어 DATABASES 설정을 아래와 같이 바꾼다.
mysql에서 설정했던 것으로 맞추어 주는 것이다.
설정을 마쳤으면 터미널에서 아래와 같은 명령으로 mysql DB로 연결시킨다.
source /home/ubuntu/webapps/main_env/bin/activate (가상환경 실행)
pip install mysql-python (mysql-python 설치)
python ~/webapps/hello_django/manage.py syncdb (syncdb로 DB 연동)
syncdb 할 때, 아래와 같이 생성되는 table을 볼 수 있으며
관리자로 사용할 계정을 만들게 된다.
여기서는 greenyant으로 만들었다.
스키마를 새로고침하여 table이 올라간 것을 확인할 수 있다.
아래와 같이 SQL문을 통하여 auth_user에 greenyant 계정이 들어와 있는 것을 알 수 있다.
이번엔 만들어진 table 간의 상관관계를 보기위하여
mysql workbench 기능 중 EER model을 사용한다.
아래와 같이 다시 홈 화면으로 다시 돌아가
"Create EER Model From Existing Database"를 실행한다.
아래와 같이 몇가지 세팅을 하고나면
아래 그림처럼 정렬되지 않은 모델을 볼 수 있는데,
이를 잘 정렬하면 아래와 같은 관계를 볼 수 있다.
참고 : "
(링크 : http://greenyant.blogspot.kr/2014/05/django.html )
먼저 mysql을 설치한다.
sudo apt-get -y install mysql-server mysql-client
설치 도중 root 비밀번호 입력이 뜬다.
본 예제는 "1111" 을 사용하였다.
앞으로 비밀번호를 사용하는 것을 보여줘야하기 때문에 단순한 비번을 사용하였다.
설치 후 아래 명령으로 동작 확인.
mysql -u root -p
(비번 입력)
mysql-workbench를 우분투 소프트웨어 센터에서 검색해서 설치한다.
더 많은 정보를 누르면 아래 그림과 같이 자세한 정보를 볼 수 있다.
설치하고나서 실행할 때는 설명에 써있는 것처럼 터미널에서
mysql-workbench 명령어를 입력한다.
mysql workbench를 실행하면 아래와 같은 화면이 뜬다.
로컬에 설치한 mysql로 연결하기 위하여 "New Connection"을 누른다.
여기서 나는 Connection Name에 "localDB"라고 입력 했음.
그러면 아래와 같이 메인창에 방금 만든 localDB 가 뜬다.
떠블 클릭해서 입장~
처음에 기본적으로 만들어져있는 SQL File 창에 SQL 문을 입력하고 번개 표시를 누른다.
아래와 같이 현재 설치되어 있는 데이터 베이스를 보는 명령을 실행하면
아래에 표로 표시가 된다.
확인이 되었으면 쿼리문을 아래와 같이 보내어
django_db(임의로 지정한 것임)를 만든다.
오른쪽 SCHMAS에 새로고침을 눌러 생성한 DB를 확인한다.
여기서 django_db의 encoding을 맞추어 준다.
이부분을 설정하지 않으면 나중에 만들 테이블에도 문제가 생겨
django의 admin페이지에서 한글로 수정하지 못하는 웃지 못할 일이 벌어진다.
Apply버튼을 누르면 실행할 SQL문이 나오는데,
사실 이 SQL만 따로 실행해도 된다.
드디어 만들어 놓은 django project를 사용하자.
Aptana Studio에 올려서 하는 방식으로 설명한다.
이것은 아래 링크를 통해 설치하는 것을 볼 수 있다.
(링크 : http://greenyant.blogspot.kr/2014/05/aptana.html )
Aptana Studio를 실행해서 Import Project를 통해 앞서 만든 django 프로젝트를 연다.
열었으면 setting.py 문서를 열어 DATABASES 설정을 아래와 같이 바꾼다.
mysql에서 설정했던 것으로 맞추어 주는 것이다.
설정을 마쳤으면 터미널에서 아래와 같은 명령으로 mysql DB로 연결시킨다.
source /home/ubuntu/webapps/main_env/bin/activate (가상환경 실행)
pip install mysql-python (mysql-python 설치)
python ~/webapps/hello_django/manage.py syncdb (syncdb로 DB 연동)
syncdb 할 때, 아래와 같이 생성되는 table을 볼 수 있으며
관리자로 사용할 계정을 만들게 된다.
여기서는 greenyant으로 만들었다.
스키마를 새로고침하여 table이 올라간 것을 확인할 수 있다.
아래와 같이 SQL문을 통하여 auth_user에 greenyant 계정이 들어와 있는 것을 알 수 있다.
이번엔 만들어진 table 간의 상관관계를 보기위하여
mysql workbench 기능 중 EER model을 사용한다.
아래와 같이 다시 홈 화면으로 다시 돌아가
"Create EER Model From Existing Database"를 실행한다.
아래와 같이 몇가지 세팅을 하고나면
아래 그림처럼 정렬되지 않은 모델을 볼 수 있는데,
이를 잘 정렬하면 아래와 같은 관계를 볼 수 있다.
참고 : "
How to create EER Diagram with MySQL WorkBench"
유튜브 영상 - http://www.youtube.com/watch?v=v5Q0lz5FkW0
피드 구독하기:
글 (Atom)







































