MY MEMO

[WEB] Django 환경 설치하기 본문

STUDYING/PYTHON

[WEB] Django 환경 설치하기

l_j_yeon 2018. 1. 16. 13:58

+)

Django 1.11.0 사용 -> python version (https://docs.djangoproject.com/ko/2.0/faq/install/)

Django 1.11.0의 경우 python 2.7, 3.4, 3.5, 3.6 사용


+) Django란?

python으로 만들어진 무료 오픈소스 웹 어플리케이션 프레임워크


환경 설치 (Django1.11.0) - MAC OS


0. python3.6.4 install (https://www.python.org/downloads/)


1. 가상 환경을 생성할 폴더 이름 (folder_name 폴더 생성 및 폴더 이동) - 건너 뛰어도 괜찮음

mkdir 폴더_이름

cd 폴더_이름


2. 가상 환경 생성

python3 -m venv 가상환경_이름


3. 가상 환경 실행하기

source 가상환경_이름/bin/activate

혹은

. 가상환경_이름/bin/activate


4. Django1.11.0 install

pip3 install django~=1.11.0

cd 가상환경_이름


5. src 폴더 생성

mkdir src

cd src


django-admin startproject 프로젝트_이름 .

(뒤에 점!!!!!)


6. 

cd src 폴더로 가서 

python3 manage.py startapp 어플리케이션_이름


+)

myvenv : 가상환경 이름

apiTest : 어플리케이션 이름

tour :프로젝트 이름


7. setting.py를 아래와 같이 수정


INSTALLED_APPS = [

    'django.contrib.admin',

    'django.contrib.auth',

    'django.contrib.contenttypes',

    'django.contrib.sessions',

    'django.contrib.messages',

    'django.contrib.staticfiles',

    '어플리케이션_이름'

]


model 및 Database 생성하기 (참고 : https://medium.com/django-develop/django-3-database-%EC%84%A4%EC%A0%95%ED%95%98%EA%B8%B0-%EB%B0%8F-admin%ED%8E%98%EC%9D%B4%EC%A7%80-%EC%83%9D%EC%84%B1-e68f3ca29ac)


8. models.py 열기


9. models.py에서 테이블을 생성 - 아래는 account 관련 테이블 생성

from django.conf import settings
from django.db import models
from django.contrib.auth.models import AbstractUser

# Create your models here.
class BlogPost(models.Model):
user = models.ForeignKey(settings.AUTH_USER_MODEL, on_delete=models.CASCADE)
title = models.CharField(max_length=120, null=True, blank=True)
content = models.TextField(max_length=120, null=True, blank=True)
timestamp = models.DateField(auto_now_add=True)

def __str__(self):
return str(self.user)

10. model 반영하기

python3 manage.py makemigrations

python3 manage.py migrate


+) sql 문장으로 보기

python3 manage.py sqlmigrate 어플리케이션_이름 0001


11. admin 설정

python3 manage.py createsuperuser

python3 manage.py runserver

http://127.0.0.1:8000/admin/


12. app 폴더 안의 admin.py

from django.contrib import admin
from .models import BlogPost
from .models import User

# Register your models here.
class BlogPostAdmin(admin.ModelAdmin):
list_display = ('user', 'title')

admin.site.register(BlogPost, BlogPostAdmin)

으로 수정해주면 http://127.0.0.1:8000/admin/ 여기서도 테이블을 확인할 수 있다!


+) rest api를 사용하기 위하여 rest_framework 설치!!


pip install djangorestframework


setting.py


INSTALLED_APPS = [

    'django.contrib.admin',

    'django.contrib.auth',

    'django.contrib.contenttypes',

    'django.contrib.sessions',

    'django.contrib.messages',

    'django.contrib.staticfiles',

    '어플리케이션_이름',

 'rest_framework'

]

 

+) 파랑색 글자로 된 명령어를 local에서 Django 서버 실행할 때 해줘야 함


Rest API 관련 동영상 (매우 정리가 잘 되어 있음!) : https://www.youtube.com/watch?v=tG6O8YF91HE&t=1960s


+) localhost에서 Django가 돌아가게 하려면

src파일로 가서

pip install -r requirements.txt

여기서 django-cors가 필요 (자체에서 막아 놓은 보안 문제 해결)

INSTALLED_APPS = [
'django.contrib.admin',
'django.contrib.auth',
'django.contrib.contenttypes',
'django.contrib.sessions',
'django.contrib.messages',
'django.contrib.staticfiles',

# 추가
'corsheaders',

'api',
'rest_framework',

]

MIDDLEWARE = [
'django.middleware.security.SecurityMiddleware',
'django.contrib.sessions.middleware.SessionMiddleware',
'django.middleware.common.CommonMiddleware',
'django.middleware.csrf.CsrfViewMiddleware',
'django.contrib.auth.middleware.AuthenticationMiddleware',
'django.contrib.messages.middleware.MessageMiddleware',
'django.middleware.clickjacking.XFrameOptionsMiddleware',

#추가
'corsheaders.middleware.CorsMiddleware',
'django.middleware.common.CommonMiddleware',
]

CORS_URLS_REGEX = r'^/api/.*$'
CORS_ORIGIN_ALLOW_ALL = True


'STUDYING > PYTHON' 카테고리의 다른 글

[PYTHON] Rivescript 추가  (0) 2017.10.16
[PYTHON] pycharm 오류 해결  (0) 2017.10.16
[PYTHON] Rivescript 개념  (0) 2017.10.15
[PYTHON] 추가  (0) 2017.10.15
[PYTHON] 개념 다지기 - 2  (0) 2017.10.07
Comments