Django / 복습
Web/Django

Django / 복습

뉴비뉴 2019. 7. 1.

첫 번재 Django 앱 작성, 파트 1

django 호출 구조

  • Django 버전 확인
$ python -m django --version

Django가 설치되어 있다면 버전확인 그렇지 않으면 "No module django"

프로젝트 만들기

#가상 환경 폴더로 이동
cd \djangogirls
\myvenv\Scripts\active

#django install
python -m install "django<2"

#프로젝트 생성
$ django-admin startproject mysite
mysite/
    manage.py
    mysite/
        __init__.py
        settings.py
        urls.py
        wsgi.py
  • 외부 mysite/루트 디렉토리는 프로젝트의 컨테이너 일뿐입니다. 그것의 이름은 Django에게 중요하지 않다; 원하는 이름으로 이름을 바꿀 수 있습니다.
  • manage.py:이 장고 프로젝트와 다양한 방식으로 상호 작용할 수있는 명령 행 유틸리티. 당신에 대한 모든 세부 사항을 읽을 수 manage.py있는 장고 - 관리자 및 manage.py .
  • 내부 mysite/디렉토리는 프로젝트의 실제 파이썬 패키지입니다. 그 이름은 그 안에 무엇이든 가져 오기 위해 사용해야 할 Python 패키지 이름입니다 (예 :) mysite.urls.
  • mysite/__init__.py:이 디렉토리가 파이썬 패키지로 간주되어야한다는 것을 파이썬에게 알리는 빈 파일. 파이썬 초보자라면 공식 파이썬 문서에서 패키지  대해 더 자세히읽어보십시오 .
  • mysite/settings.py:이 장고 프로젝트의 설정 / 설정. Django 설정 은 설정 작동 방식을 알려줍니다.
  • mysite/urls.py:이 장고 프로젝트의 URL 선언. 당신의 Django-powered 사이트의 "목차". URL 발송자 에서 URL 에 대해 자세히 읽을 수 있습니다 .
  • mysite/wsgi.py: 프로젝트에 서비스 할 WSGI 호환 웹 서버의 진입 점. 자세한 내용 은 WSGI 를 사용 하여 배포하는 방법을 참조 하십시오

개발서버

장고 프로젝트가 작동되는지 확인

$ python manage.py runserver

#서버 포트변경
$ python manage.py runserver 8000

앱 만들기

이제는 프로젝트라는 환경이 설정되었으므로 작업을 시작하게 된다.

 

프로젝트 vs. 앱

프로젝트와 앱의 차이점은 무엇입니까? 앱은 웹 로그 시스템, 공공 기록 데이터베이스 또는 간단한 설문 조사 앱과 같은 작업을 수행하는 웹 애플리케이션입니다. 프로젝트는 특정 웹 사이트에 대한 구성 및 응용 프로그램 모음입니다. 프로젝트는 여러 개의 앱을 포함 할 수 있습니다. 앱이 여러 프로젝트에있을 수 있습니다.

$ python manage.py startapp polls
polls/
    __init__.py
    admin.py
    apps.py
    migrations/
        __init__.py
    models.py
    tests.py
    views.py

첫 번째 뷰 작성

polls/views.py 파일을 열고 파이썬 코드 입력

# views.py

from django.shortcuts import render
from django.http import HttpResponse

def index(request):
    return HttpResponse("Hello, world. you're at the polls index.")

이것은 장고에서 가장 기본적인 뷰 입니다. 뷰를 호출하기 위해 우리는 url map 이 필요합니다.

url map을 알기 위해 URLconf가 필요합니다. URLconf를 만들기 위해 polls 디렉토리에 urls.py파일을 생성하시오.

#polls/urls.py
from django.conf.urls import url

from . import vies

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

다음 단계는 polls.urls 모듈에 root URLconf 포인트를 설정하는 것 입니다.

mysite/urls.py에서 django.conf.urls.include를 import하고 url 패턴 리스트를 입력하는 것을 추가합니다.

코드를 아래와 같습니다.

#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),
]

#############################
# 아래와 같은 방법으로 url 대신 path 를 사용할 수도 있다.

from django.conf.urls import include, path
from django.contrib import admin

urlpatterns = [
    path('', include('polls.urls')),
    path('admin/', admin.site.urls),
]

include() 함수는 다른 URLconfs를 허용한다. include() 함수에 대한 정규 표현식은 $(끝 문자열 일치하는 문자)가 아니기 때문에 역 슬레시를 가지고 있지 않습니다. idea(URL 정규 표현식 패턴) 뒤에 있는 include()는 plug-and-play URLs를 쉽게 만듭니다. (polls/urls.py)에 있는 URLconf를 설정한 후에 "/polls/", "/fun_polls/" 하위, "/content/polls/" 하위, or 어떠한 다른 경로에서 앱이 동작할 수 있게 합니다.

 

이제 URLconf에 설정된 인덱스 뷰가 연결되었습니다.

 

path()인수 : route

routeURL 패턴을 포함하는 문자열입니다. 요청을 처리 할 때, Django는 첫 번째 패턴에서 시작하여 urlpatterns일치하는 패턴을 찾을 때까지 요청 된 URL을 각 패턴과 비교하여 목록을 만듭니다.

패턴은 GET 및 POST 매개 변수 또는 도메인 이름을 검색하지 않습니다. 예를 들어, to 요청 https://www.example.com/myapp/에서 URLconf가 찾습니다 myapp/. 에 대한 요청으로 https://www.example.com/myapp/?page=3URLconf도 찾습니다 myapp/.

path()인수 : view

Django는 일치하는 패턴을 발견하면 HttpRequest객체를 첫 번째 인수로 사용하고 경로에서 "캡처 한"값을 키워드 인수로 사용 하여 지정된 뷰 함수를 호출합니다 . 우리는 이것을 약간의 예를 들어 설명 할 것입니다.

path()인수 : kwargs

임의의 키워드 인수는 사전에서 대상보기로 전달 될 수 있습니다. 튜토리얼에서 장고의이 기능을 사용하지 않을 것입니다.

path()인수 : name

URL의 이름을 지정하면 특히 템플릿 내에서 장고의 다른 곳에서 명확하게 참조 할 수 있습니다. 이 강력한 기능을 사용하면 단일 파일 만 건드리지 만 프로젝트의 URL 패턴을 전체적으로 변경할 수 있습니다.

기본 요청 및 응답 흐름에 익숙하면 이 자습서의 파트 2를 읽고 데이터베이스 작업을 시작하십시오.

 

참고

https://docs.djangoproject.com/en/2.0/intro/tutorial01/#path-argument-route

 

 

'Web > Django' 카테고리의 다른 글

Django / 복습(AWS)  (0) 2019.07.05
Django / 복습(실습)  (0) 2019.07.03
Django / form  (0) 2019.07.01
Django / 프로그램 애플리케이션 확장  (0) 2019.06.30
Django / 템플릿 동적 데이터와 쿼리셋  (0) 2019.06.30

댓글

💲 추천 글