2014년 7월 8일 화요일

Django와 함께하는 Jquery Ajax의 simple한 예제

참고 :
http://stackoverflow.com/questions/5304517/ajax-post-in-django-framework
http://api.jquery.com/jquery.ajax/




ajaxtest.html





Text Area


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일 수요일

chart.js를 이용한 방사형 차트 기본 예제

참고 : http://www.chartjs.org/docs/


head 태그 내부에 Chart.js




body 태그 내부
.
  

.

2014년 6월 15일 일요일

Mathjax를 이용해 수식을 타이핑해서 확인할 수 있는 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.




코드



 
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


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





{% csrf_token %} {{ formset.management_form }} {% for form in formset %} {{ form.title.label_tag }}{{ form.title }} {{ form.title.error}} {{ form.pub_date.label_tag }}{{ form.pub_date }} {{ form.pub_date.error}} {% endfor %}


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 추가

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"를 실행한다.










아래와 같이 몇가지 세팅을 하고나면






















아래 그림처럼 정렬되지 않은 모델을 볼 수 있는데,




























이를 잘 정렬하면 아래와 같은 관계를 볼 수 있다.



참고 : "

How to create EER Diagram with MySQL WorkBench"

유튜브 영상 - http://www.youtube.com/watch?v=v5Q0lz5FkW0

우분투에 django 설치하고 실행해보기

이 과정은 ubuntu 데스크 탑 버전에 올리는 것을 기준으로 하였다.(id : ubuntu)
(링크 : 우분투 설치&설정 - http://greenyant.blogspot.kr/2014/05/ec2.html )

apt-get 설정 업데이트
sudo apt-get update
sudo apt-get -y upgrade

연관 라이브러리 설치
sudo apt-get -y install build-essential python-all-dev python-dev python-setuptools libpq-dev libev-dev
sudo easy_install pip
sudo apt-get -y install libmysqlclient-dev

가상환경 설정
sudo apt-get -y install python-virtualenv
virtualenv /home/ubuntu/webapps/main_env

가상환경 설정하면서 webapps 폴더도 생성 되었다.
이곳을 개발용으로 사용한다.

가상환경 실행
source /home/ubuntu/webapps/main_env/bin/activate

django 설치
pip install django

hello_django라는 이름으로 django 프로젝트 생성 및 실행
cd webapps
django-admin.py startproject hello_django
cd hello_django
python manage.py syncdb

python manage.py runserver

브라우저에서 127.0.0.1:8000으로 확인



























연관글 :
django 프로젝트를 mysql로 연결하고 mysql-workbench로 보기
http://greenyant.blogspot.kr/2014/05/django-mysql-mysql-workbench.html