알쓸전컴(알아두면 쓸모있는 전자 컴퓨터)
Django start app 만들기 본문
start app 만들기
시작은 일단
가상환경 적용 입니다.
$source ~/anaconda3/envs/djangotest/bin/activate djangotest
자신의 django 프로젝트 폴더에 들어 갑니다.
$cd ~/mysite/
$ ./manage.py startapp polls
그러면 폴더가 생성 되며
polls/
__init__.py
admin.py
apps.py
migrations/
__init__.py
models.py
tests.py
views.py
다음과 같은 폴더 구조를 가지게 됩니다.
이제 첫번째 여기서 뷰는 사용자에게 보여주는 측면의 App을 작성 하는것이라고 생각 됩니다.
이제 polls/view.py 파일을 열어 파이썬 코드를 입력 해줍니다.
from django.shortcuts import render # Create your views here. from django.http import HttpResponse def index(request): return HttpResponse("Hello ! world ")
위와 같이 코드를 작성해 줍니다.
자세한 API는 추후에 1개씩 구조와 사용 기능에 대해서 알아보고 일단 튜토리얼을 따라 가면서 익숙해 지는것이 중요하다고 생각되어
API는 어떻게 라는 질문 보다 일단 이렇게 쓰면 결과가 이렇게 나온다 라는 학습을 하겠습니다.
API 구조를 일일이 다 따라가다보면 지쳐 버립니다.
그때 그때 필요한 API 를 인자와 사용법만 알고 넘어 가겠습니다.
위의 코드는 웹페이지에 접속할때 Hello ! world 라고 출력을 내어 주는것으로 생각 됩니다.
polls/urls.py 파일을 생성해 줘야 합니다. 그이유는 mysite/mysite/urls.py 의 최상단 urls.py에게 polls/urls알려줘서 웹페이지 경로를
설정 하기 위해서 입니다.
그렇게 되면 파이썬에서는 URLconf 라는 녀석이 있는데 이녀석이 url 경로를 관리 합니다.
ULRconf -> mysite/urls.py -> polls/urls.py
이렇게 경로를 알려주고자 하는것이 목적 입니다,
polls/urls.py 을 생성하고 코드를 작성해 줍니다.
from django.conf.urls import url from . import views urlpatterns = [ url(r'^$',views.index,name = 'index'), ]
위에서 '^$' 정규 표현식 입니다
정규 표현식은 정규 표현식 사이트 http://www.nextree.co.kr/p4327/ 에 적당한 설명이 있으니 살펴 보시면 좋을것 같습니다.
다음은 mysite/urls.py 을 열어 수정해 줍니다.
from django.conf.urls import include,url from django.contrib import admin urlpatterns = [ url(r'^polls/',include('polls.urls')), url(r'^admin/', admin.site.urls), ]
위와 같이
from django.conf.urls import include,url <-- 수정
url(r'^polls/',include('polls.urls')), <-- 추가
추가해 줍니다.
$sudo service apache2 restart
apache 를 재시작 해줍니다. 재시작 전에는 수정 사항이 변경 되어 있지를 않습니다.
기본 적인 app이 만들어 졌습니다.
여기에서 부족한 설명은
https://django-document-korean.readthedocs.io/ko/master/intro/tutorial01.html
여기서 부가 적인 내용을 살펴 보시면 더욱 이해도가 높아 질것 으로 생각 됩니다.
'Web > Django' 카테고리의 다른 글
Anaconda 가상환경 spyder IDE 적용 (0) | 2017.08.07 |
---|---|
Django 데이터 베이스 설정 (0) | 2017.08.05 |
Django 와 apache2 연동 (3) | 2017.08.05 |
Django 기본 프로젝트 만들기 (3) | 2017.08.04 |
Django 설치하기(2) (0) | 2017.08.04 |