본문 바로가기
IT 공부/Python

Python django 설정 및 시작하기

by 쭈잇 2019. 6. 19.

Contents

    반응형

    1. pycharm 프로젝트 생성 ( python 프로젝트 )

    2. Django 설치
    [터미널]
    pip install django

    3. 장고 프로그램 생성
    [터미널]
    django-admin startproject python_ch3

     

    4. 디렉토리 정리
    -> pycharm 프로젝트와 django 프로젝트의 디렉토리 일치시키는 작업

     

     

    manager.py 상단으로 빼기 

    python_ch3 -> python_ch3 -> python_ch3 __init~wsgi(4개의 파일)  python_ch3 -> python_ch3 여기에 넣고 비어진 python_ch3 파일은 삭제하기

     

    5. psycopg2(postgres db lib) 설치
    [터미널]
    pip install psycopg2

     

     


    - postgresql db 생성 및 계정생성 접근 권한 부여
    1. create database djdb;
    2. create user djdb with password 'djdb';
    3. grant all privileges on all tables in schema public to djdb;
    4. data/pg_hba_conf 접근 설정


    6. settings.py 설정
      1) TIME_ZONE = 'Asia'
      2)
       DATABASES = {
       'default': {
       'ENGINE': 'django.db.backends.postgresql',
       'NAME': 'djdb',
       'USER' : 'djdb',
       'PASSWORD' : 'djdb',
       'HOST' : '192.168.1.145',
       'PORT' :5432
         }
        }
       3) Template 디렉토리 설정
          TEMPLATES = [
          {
       'BACKEND': 'django.template.backends.django.DjangoTemplates',
       'DIRS': [os.path.join(BASE_DIR,'template')],
       'APP_DIRS': True,
       'OPTIONS': {
       'context_processors': [
       'django.template.context_processors.debug',
       'django.template.context_processors.request',
       'django.contrib.auth.context_processors.auth',
       'django.contrib.messages.context_processors.messages',
          ],
       },
       },
       ]




    7. 장고 프로젝트의 기본 관리 어플리케이션이 사용하는 테이블을 생성
    [터미널]
    python manage.py migrate


    8. 장고 프로젝트의 기본 관리 어플리케이션 로그인 계정 생성하기
    (관리 계정 생성하기)
    [터미널]
    python manage.py createsuperuser

    9. 지금까지 작업 내용 확인하기
    [터미널]
    python manage.py runserver 0.0.0.0:8888



    =====================================================================

    Application 작업
    1. 어플리케이션 추가
    [터미널]
    python manage.py startapp helloworld
    2. 어플리케이션 등록 (settings.py)
    INSTALLED_APPS = [
    'helloworld',
    'django.contrib.admin',
    'django.contrib.auth',
    'django.contrib.contenttypes',
    'django.contrib.sessions',
    'django.contrib.messages',
    'django.contrib.staticfiles',

     

     

    # python_ch3/urls.py
    
    import helloworld.views as helloworld_views
    
    urlpatterns = [
        # request handler 역할
        path('helloworld/', helloworld_views.hello),
        path('admin/', admin.site.urls),
    ]
    
    # helloworld/views.py
    
    from django.shortcuts import render
    
    # Create your views here.
    
    def hello(request):
        # forward 개념이 아니라 rendering을 하는 개념
        return render(request, 'helloworld/hello.html')

     

    반응형