*CREATE new project
$ django-admin startproject mysite
#새로운 장고 프로젝트를 실행하면 아래와 같이 폴더/파일이 생성된다.
mysite/ # root directory, can rename anything
manage.py # command-line utility
mysite/ # actual Python package, use this name to import things inside
(ex: mysite.urls 처럼 불러오면 된다)
(https://docs.djangoproject.com/en/1.10/ref/django-admin/)
__init__.py # 해당 directory가 Python package임을 알려주는 빈 파일이다.
파이썬 초심자라면(https://docs.python.org/3/tutorial/modules.html#tut-packages)를 읽어볼 것
settings.py # 각종 세팅(https://docs.djangoproject.com/en/1.10/topics/settings/) 참고
urls.py # 장고 프로젝트에서 URL을 선언해 주는 파일이다. 'Table of contents'
# (https://docs.djangoproject.com/en/1.10/topics/http/urls/)
wsgi.py # WSGI-compatible 웹 서버와 관련된 파일 (??)
# (https://docs.djangoproject.com/en/1.10/howto/deployment/wsgi/)
*장고 서버 실행하기
$python manage.py runserver
단순 개발용이기 때문에 절대로 다른 production environment에서 사용하지 말것 (장고 사이트에서 명시)
이후 localhost:8000을 실행하면 It works!라는 페이지가 뜬다!
*port changing
default로 runserver는 8000번 포트에서 서버를 실행시긴다
=> python manage.py runserver 8080
=> python manage.py runserver 0.0.0.0:8080
과 같은 방법으로 변경할 수 있음
*앱에 기능 추가하기
polls/views.py 를 실행시켜 아래 코드를 적는다.
from django.http import HttpResponse
def index(request):
return HttpResponse("Hello, world. You're at the polls index.")
*polls 앱의 URL 수정하기
이 view를 부르기 위해서 URL을 수정해야 한다.
# URLconf가 필요하다
# polls 폴더의 urls.py를 만든 뒤 코드를 삽입한다.
from django.conf.urls import url
from . import views # views.py에서 모든 def를 불러온다.
urlpatterns = [
url(r'^$', views.index, name='index'),
# 해당 url에서 views.index라는 templete으로 이동
]
*mysite의 ULR 수정하기
# polls.urls의 모듈을 포인트 해줘야한다.
# mysite/urls.py를 수정하여야한다.
from django.conf.urls import include, url
from django.contrib import admin
urlpatterns = [
url(r'^polls/', include('polls.urls')),
# include() 기능은 다른 URLconfs를 지정하게 해준다.
# => $ 를 사용하지 않고 /를 사용 => URL이 매치되는 부분으로 sending 해주기 때문
url(r'^admin/', admin.site.urls
]
# incluede() 안에 오는 것은 plug-and-play URLs을 쉽게 만들어 준다??
# URLconf (polls/urls.py)나 기타 등등을 해도 상관 없음
# 다른 URL 패턴을 활용 => 항상 inclue()를 사용해야한다.
# admin.sinte.urls만 유일한 예외
*서버 테스트해보기
$python manage.py runserver 로 실행 후
http://localhost:8000/polls/ 를 실행하면
Hello, world. You're at the polls index. 가 뜨는것을 확인 가능하다
*url()이 갖는 arguments
url( ) 기능은 4가지 arguments를 갖는다.
# regex, view는 필수적이고
# kwargs, name은 선택적이다.
# regex
# "regular expression" => url patterns를 매칭시켜주는 구문
# GET, POST parameters를 검색하지 않음
# ex) https://www.example.com/myapp/?page=3
# => URLconf는 myapp/ 을 찾음
# view
# 장고가 regular expression(regex를 매칭) => view function을 부름
# ??
# kwargs
# Arbitary keywords arguments => ...
# name
# URL에 nameing => 모호함 제거, 특히 템플릿에서
'backend > django' 카테고리의 다른 글
django를 위한 postgresql 설치하기 (0) | 2017.03.01 |
---|---|
pyenv, virtualenv, autoenv를 활용해 Python 3.6, Django 1.10 설치하기 (0) | 2017.03.01 |
django tutorial: 데이터베이스 셋업, 모델 만들어서 migrate 해보기 (part2) (0) | 2017.03.01 |
2/25, 장고스터디 2017 시작! (0) | 2017.02.28 |
장고에서 jupyter, ipython notebook 사용하기 (notebook in django) (0) | 2017.02.28 |