관리 메뉴

Storage Gonie

21. (app2) 셋업 및 urls.py와 views.py 수정( app2, polls 프로젝트 생성 및 Including another URLconf) 본문

웹개발/Django 웹서비스 개발(인프런)

21. (app2) 셋업 및 urls.py와 views.py 수정( app2, polls 프로젝트 생성 및 Including another URLconf)

Storage Gonie 2019. 2. 17. 15:11
반응형

주제 : app2 장고 프로젝트를 생성하고, polls 앱을 생성한다. 또한 이전에는 'Function views' 방식으로 url을 관리했던 것을 이번엔 'Including another URLconf' 방식으로 관리해본다.


"""mysite URL Configuration

The `urlpatterns` list routes URLs to views. For more information please see:
https://docs.djangoproject.com/en/1.10/topics/http/urls/
Examples:
Function views
1. Add an import: from my_app import views
2. Add a URL to urlpatterns: url(r'^$', views.home, name='home')
Class-based views
1. Add an import: from other_app.views import Home
2. Add a URL to urlpatterns: url(r'^$', Home.as_view(), name='home')
Including another URLconf
1. Import the include() function: from django.conf.urls import url, include
2. Add a URL to urlpatterns: url(r'^blog/', include('blog.urls'))
"""


1. 가상환경 생성, 가상환경 활성화, 장고설치

- "./conda create -n 가상환경명 python=3.5.2"

- "source activate 가상환경명"

- "pip install django==1.10"


2. Pycharm에 프로젝트 생성
- 생성한 가상환경 연결해서(User/사용자명/Anaconda3/envs/가상환경명/bin/python3 선택)


3. 장고프로젝트 생성

- 생성한 프로젝트의 폴더 아래에서 (/Users/사용자/PycharmProjects/django_app2_polls/ 에서)
- "django-admin startproject 만들프로젝트명"


4. 장고 settings.py수정

LANGUAGE_CODE = 'en-us'

TIME_ZONE = 'UTC'

LANGUAGE_CODE = 'ko-kr'
TIME_ZONE = 'Asia/Seoul'


5. 앱 생성하기

- 생성된 장고 프로젝트 폴더 아래에서(/Users/사용자/PycharmProjects/django_app2_polls/mysite/ 에서)

- "python manage.py startapp 만들앱명"


6. settings.py에서 앱 등록하기

- INSTALLED_APPS 리스트의 맨 아래에 만든앱의 이름을 추가해주면 됨.

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


7. views.py에 다음의 코드를 삽입해줌

# Create your views here.
from django.http import HttpResponse
def index(request):
return HttpResponse("Hello, CodeSquad")


8. urls.py 복사 후 사본수정(Including another URLconf 방식)

- 기존에 존재하는 urls.py를 앱폴더 아래에 복사한다.

- 복사한 url.py에서 쓸모없는 주석내용을 지운다.

- import되어있는 admin 라인도 지워준다.

- url패턴을 수정해준다.

- views를 import해준다.

from django.conf.urls import url

from . import views

urlpatterns = [
url(r'^$', views.index, name = 'index'),
]


9. urls.py 원본수정(Including another URLconf 방식)

- include 모듈을 import해줌

- url 패턴을 추가해준다.

from django.conf.urls import url
from django.contrib import admin

from django.conf.urls import include
urlpatterns = [
url(r'^admin/', admin.site.urls),
url(r'^polls/', include('polls.urls'))
]


10. Including another URLconf 방식으로 하면 일어나는 일

- 사용자가 localhost:8000/polls에 접속하면 mysite/urls.py -> polls/urls.py -> view 순으로 연결이 됨.

- localhost:8000/polls 은 mysite/urls.py 에서 처리하고

- localhost:8000/polls/ ~~~~ 은 polls/urls.py에서 처리하게 되어 분리할 수 있음


11. 실행해보기

- 생성된 장고 프로젝트 폴더 아래에서(/Users/사용자/PycharmProjects/django_app2_polls/mysite/ 에서)

- "python manage.py runserver"           => 디폴트는 8000번 포트로 실행된다.

- "python manage.py runserver 8080" => 이렇게 하면 포트도 수정할 수 있다.

반응형
Comments