• 파이썬 장고를 알아보자

    2017. 11. 15. 15:44

    by. 위지원

    지금부터 작성할 장고글은 모두 https://tutorial.djangogirls.org/ko/를 보고 따라ㅎ마ㅕ 공부한것임

    장고란 파이썬으로 만들어진 무료 오픈소스 웹 어플리케이션 프레임워크

    -예를 들어 편지(request) 가 도착했는지 확인해주는 메일 박스(port)가 있을 때 주고 받을 내용을 전달하는 것을 장고가 함

    -웹 서버에 요청이 오면 장고로 전달

    -urlresolver는 웹페이지의 주소를 가져와 무엇을 할지 확인(url을 통해 이해) : 패턴 목록을 가져와 url과 맞는지 하나하나 대조해보는 것 , 우체부같은 역할

    -모든 처리는  view함수에서 처리

    -사용자가 "A해줘" 라고 하면 view는 사용자가 할 수 있는지 확인하고 할 수 있으면 해준다음에 "응"이라고 답장을 생성하여 장고가 사용자에게 보내주는 역할



    https://tutorial.djangogirls.org/ko/django_installation/ 를 보고 일단 설치



    가상 환경 준비하기


    $mkdir querytester

    $cd querytester

    $python3 -m venv myvenv


    에러 : You may need to use sudo with that command. After installing the python3-venv package, recreate your virtual environment


    해결 : sudo apt-get install python3.4-venv


    $source myvent/bin/activate


    이때부턴 맨 앞에 가상환경 이름이 따라 붙게 된다. ex. (myvenv) weejw@weejwPC:~/queryTester$


    장고 설치하기


    $pip install --upgrade pip

    $pip install Django~=1.11.0



    장고 프로젝트 생성하기


    $django-admin startproject mysite . ('.'은 현재 디렉토리에 장고를 설치하라고 알려주는것이라 중요하다고 한다)



    1. manage.py : 사이트 관리를 도와주는 스크립트로 다른 설치 작업 없이 컴퓨터에서 웹 서버 시작 가능

    2.mysite : 웹사이트 설정이 있는 파일

    3.urls.py : urlresolver가 사용하는 패턴 목록을 포함


    설정하기


    $gedit mysite/settings.py


    [수정] TIME_ZONE='Asia/Seoul'


    [STATIC_URL아래줄에 추가] STATIC_ROOT=os.path.join(BASE_DIR,'static')


    [수정] ALLOWED_HOSTS = ['127.0.0.1','.pythonanywhere.com']


    [mysql기준]  [출처 URL 주소]


    [추가] import pymysql


    #에러 : no module named pymysql


    @해결 : pip install pymysql


    [수정]

    DATABASES = {
        'default': {
           'ENGINE': 'django.db.backends.mysql',
            'NAME': '디비이름',
            'USER': '계정명',
            'PASSWORD': '비밀번호',
            'HOST': '디비 IP',
            'PORT': '포트',
        }
    }


    실행하기


    $python manage.py migrate


    #에러 : django.core.exceptions.ImproperlyConfigured: Error loading MySQLdb module: No module named 'MySQLdb'.
    Did you install mysqlclient or MySQL-python?


    @해결 [출처  url 주소]: pip install -e git+git://github.com/theatlantic/django-mysqlndb-backend.git@v1.1.0#egg=django-mysqlndb-

    backend 



    #에러 : mysql_config not found

        @해결[출처 url주소] : $sudo apt-get install mysql-server

      $sudo apt-get isntall libmysqlclient-dev



    $python manage.py runserver


    '2017년 > Python' 카테고리의 다른 글

    python anywhere 사용하기  (0) 2017.11.15
    장고 모델 ,관리자  (0) 2017.11.15
    xml-rpc 다중 instance 등록방법  (0) 2017.09.16
    파이썬 cmd 모듈  (0) 2017.09.15
    파이썬으로 옵저버 패턴을 구현해보자  (0) 2017.09.14