MY MEMO
[WEB] Django 환경 설치하기 본문
+)
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
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 설치!!
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 |