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')
'IT 공부 > Python' 카테고리의 다른 글
Python 크롤링, 동적으로 가져오기 selenium (0) | 2019.06.19 |
---|---|
Python 크롤링 연습 (0) | 2019.06.18 |
Python 클래스(1) 클래스, 인스턴스 메서드/ 멤버, 인스턴스 변 (0) | 2019.06.17 |
Python 파일입출력 예제 (0) | 2019.06.17 |
Python 모듈, import (0) | 2019.06.17 |